printПомощь

printПримеры программ

Ограничения: время – 1s/2s, память – 64MiB Ввод: input.txt или стандартный ввод Вывод: output.txt или стандартный вывод copy
Послать решение Blockly Посылки Темы Где Обсудить (0)

Задача
Написать программу, которая вычисляет сумму двух целых чисел.
В первой строке ввода содержатся два целых числа, разделенных пробелом.
В первой строке вывода вывести одно целое число – сумму чисел.
Программа на C
#include <stdio.h>
int main()
{ int a,b;
  scanf("%d%d",&a,&b); /* Никаких подсказок на ввод! */
  printf("%d\n",a+b); /* Только число, как указано в условии */
  return 0; /* Обязательно вернуть 0! */
} 
Программа на C++
#include <iostream> // По стандарту без .h!
using namespace std;
int main()
{ int a,b;
  ios::sync_with_stdio(0); // для ускорения ввода
  cin.tie(0);
  cin>>a>>b;
  cout<<(a+b)<<"\n";
  return 0;
}
Программа на Pascal
var a,b:integer;
begin
  read(a,b); { Никаких подсказок на ввод! }
  writeln(a+b); { Только число, как указано в условии }
end.
Программа на Prolog
:-initialization(main).
main:-
  read_integer(A),
  read_integer(B),
  C is A+B,
  write(C),nl.
Программа на Scheme
(let ((A (read))
    (B (read)))
  (display (+ A B))
  (newline)
)
Программа на Haskell
main = do
       nums <- fmap (map read.words) getLine
       print (nums!!0 + nums!!1)
Программа на Java
import java.util.*;
class program {
 public static Scanner in = new Scanner(System.in);
 static public void main(String []args){
    int a,b;
    a = in.nextInt(); 
    b = in.nextInt(); 
    System.out.println(a+b);
  }
}
Программа на Python
a,b=map(int,input().split())
print(a+b)
С указанием кодировки, если нужен ввод или вывод русского текста:
import pcio
pcio.encoding('cp1251')
a,b=pcio.input('ii')
pcio.println(a+b)
Программа на C#
using System;
using System.Text;
using System.Globalization;

namespace MyApplication
{
  class Program
  {
     static void Main() 
     {  Console.InputEncoding = Encoding.GetEncoding(1251); // для чтения или вывода русского текста
        Console.OutputEncoding = Encoding.GetEncoding(1251);
        CultureInfo.DefaultThreadCurrentCulture = new CultureInfo("en-US"); // для ввода и вывода вещественных чисел
        int[] nums = Array.ConvertAll(Console.ReadLine().Split(new char[] { ' ' },
                    StringSplitOptions.RemoveEmptyEntries), s=>Convert.ToInt32(s));
        Console.WriteLine((nums[0]+nums[1]).ToString());
     }
  }
}
Программа на Kotlin
fun main() {
    val (a,b)=readln().split(" ").map{ it.toInt() }
    println("${a+b}")
}
Программа на Basic
input a
input b 
print a+b
end
Программа на Visual Basic
Module MyProgram
   Sub Main() 
      Dim A as integer, B as integer
      Dim Items() as String = Split(Console.ReadLine())
      A=Val(Items(0))
      B=Val(Items(1))
      Console.WriteLine(Str(A+B))
   End Sub
End Module
Программа на Lua
a,b = io.read("n", "n")
print(a+b)
В LuaJIT реализована устаревшая версия LUA 5.1 и, в частности, нужно указывать формат "*n" вместо "n".
Программа на ECMAScript (QuickJS)
var [a,b]=input('nn') // аналог ввода Lua
print(a+b)
В качестве аргумента input можно указать число – количество вводимых символов или формат – непустую последовательность символов: 'l' – ввод строки без символа перехода на новую строку, 'L' – ввод строки, включая символ перехода на новую строку, 'n' – ввод числа, 'w' – ввод слова до пробельных символов, 'c' – ввод символа, 'a' – ввод всего текста до конца файла. Для ввода массива первым аргументом нужно указать количество элементов массива, вторым –- формат. При вызове без аргументов вводится строка ('l').
Другой вариант (у parseInt может быть 2 аргумента, поэтому используем parseFloat)
var [a,b]=std.in.getline().split(' ').map(parseFloat)
print(a+b)
Программа на Rust
fn main() {
    let cin = std::io::stdin();
    let mut s = String::new();
    cin.read_line(&mut s).unwrap();
    let values = s
        .split_whitespace()
        .map(|x| x.parse::<i32>())
        .collect::<Result<Vec<i32>, _>>()
        .unwrap();
    println!("{}", values[0]+values[1]);
}
Программа на Blockly
42018.png

Программа на RE/flex
%option main
%{
#include <string>
#include <iostream>
using namespace std;
int nums[2],n=0;
%}
%%
-?\d+ nums[n++]=stoi(yytext);
.|\n ;
<<EOF>> { cout<<(nums[0]+nums[1])<<endl; yyterminate(); }
%%
Программа на Bison
%token DIGIT
%{
#include <iostream>
#include <stdlib.h>
using namespace std;
int yylex();
void yyerror(char const *s)
{ exit(1);
}
%}
%start program
%%
program: value ' ' value '\n' { cout<<($1+$3)<<endl; }
      ;
value: number { $$=$1;}
      | '-' number { $$=-$2;}
      ;
number: DIGIT { $$=$1;}
      | number DIGIT {$$=$1*10+$2;}
      ;
%%
int yylex()
{ int ch=getchar();
  if(ch>='0' && ch<='9') { yylval=ch-'0'; return DIGIT; }
  return ch;
}
int main()
{ return yyparse();
}
loading