Примеры программ
Ограничения: время – 1s/2s, память – 64MiB Ввод: input.txt или стандартный ввод Вывод: output.txt или стандартный вывод
Послать решение 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> //
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, SpiderMonkey)
var [a,b]=input('nn') // аналог ввода Lua
print(a+b)
В качестве аргумента input можно указать число – количество вводимых символов или формат – непустую последовательность символов: '
l' – ввод строки без символа перехода на новую строку, '
L' – ввод строки, включая символ перехода на новую строку, '
n' – ввод числа, '
w' – ввод слова до пробельных символов, '
c' – ввод символа, '
a' – ввод всего текста до конца файла. Для ввода массива первым аргументом нужно указать количество элементов массива, вторым –- формат. При вызове без аргументов вводится строка ('
l').
Другой вариант (у parseInt может быть 2 аргумента, поэтому используем parseFloat)
var [a,b]=readline().split(' ').map(parseFloat)
print(a+b)
Программа на Rust
#[macro_use]
extern crate text_io;
fn main() {
let a:i32;
let b:i32;
scan!("{} {}",a,b);
println!("{}", a+b);
}
Программа на go
package main
import "fmt"
func main() {
var (a int; b int)
fmt.Scan(&a,&b)
fmt.Println(a+b)
}
Программа на Blockly
Программа на 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();
}