A+B
You are encouraged to solve this task according to the task description, using any language you may know.
A+B - in programming contests, classic problem, which is given so contestants can gain familiarity with online judging system being used.
A+B is one of few problems on contests, which traditionally lacks fabula.
Problem statement
Given 2 integer numbers, A and B. One needs to find their sum.
Input data
In input stream, two integer numbers are written, separated by space.
Output data
In output, should be one integer be written: sum of A and B.
Example
Input | Output |
---|---|
2 2 | 4 |
3 2 | 5 |
Solutions
C
<lang c>// Standard input-output streams
- include <stdio.h>
int main() {
int a, b; scanf("%d%d", &a, &b); printf("%d\n", a + b); return 0;
}</lang> <lang c>// Input file: input.txt // Output file: output.txt
- include <stdio.h>
int main() {
freopen("input.txt", "rt", stdin); freopen("output.txt", "wt", stdout); int a, b; scanf("%d%d", &a, &b); printf("%d\n", a + b); return 0;
}</lang>
C++
<lang cpp>// Standard input-output streams
- include <iostream>
using namespace std; int main() {
int a, b; cin >> a >> b; cout << a + b << endl; return 0;
}</lang> <lang cpp>// Input file: input.txt // Output file: output.txt
- include <fstream>
using namespace std; int main() {
ifstream in("input.txt"); ofstream out("output.txt"); int a, b; in >> a >> b; out << a + b << endl; return 0;
}</lang>
C_sharp
<lang csharp>using System.IO;
class plus { public static void Main(string[] args) { int a,b; { StreamReader reader = new StreamReader("plus.in"); a = int.Parse(reader.ReadLine()); b = int.Parse(reader.ReadLine()); StreamWriter writer = new StreamWriter("plus.out"); writer.WriteLine(a+b); writer.Close(); } } }</lang>
Factor
<lang factor>: a+b ( -- )
readln " " split1 [ string>number ] bi@ + number>string print ;</lang>
( scratchpad ) a+b 2 2 4
Haskell
<lang haskell>sum' :: [Char] -> Int sum' = sum . map read . words
main = getLine >>= (\xs -> print $ sum' xs)</lang>
Java
<lang java>import java.util.*;
public class Sum2 {
public static void main(String[] args) { Scanner in = new Scanner(System.in); // Standard input System.out.println(in.nextInt() + in.nextInt()); // Standard output }
}</lang> Object of class Scanner works slow enough, because of that contestants prefer to avoid its use. Often, longer solution works faster and easily scales to problems.
<lang java>import java.io.*; import java.util.*;
public class SumDif {
StreamTokenizer in; PrintWriter out;
public static void main(String[] args) throws IOException { new SumDif().run(); }
private int nextInt() throws IOException { in.nextToken(); return (int)in.nval; }
public void run() throws IOException { in = new StreamTokenizer(new BufferedReader(new InputStreamReader(System.in))); // Standard input out = new PrintWriter(new OutputStreamWriter(System.out)); // Standard output solve(); out.flush(); }
private void solve() throws IOException { out.println(nextInt() + nextInt()); }
}</lang>
<lang java>import java.io.*;
public class AplusB { public static void main(String[] args) { try { StreamTokenizer in = new StreamTokenizer(new FileReader("input.txt")); in.nextToken(); int a = (int) in.nval; in.nextToken(); int b = (int) in.nval; FileWriter outFile = new FileWriter("output.txt"); outFile.write(Integer.toString(a + b)); outFile.close(); } catch (IOException e) { System.out.println("IO error"); } } }</lang>
OCaml
<lang ocaml>Scanf.scanf "%d %d" (fun a b -> Printf.printf "%d\n" (a + b))</lang>
Pascal
<lang pascal>var
a, b: integer;
begin
readln(a, b); writeln(a + b);
end.</lang> Same with input from file input.txt and output from file output.txt. <lang pascal>var
a, b: integer;
begin
reset(input, 'input.txt'); rewrite(output, 'output.txt'); readln(a, b); writeln(a + b); close(input); close(output);
end.</lang>
PicoLisp
<lang PicoLisp>(+ (read) (read)) 3 4 -> 7</lang>
Scala
<lang scala>println(readLine() split " " take 2 map (_.toInt) sum)</lang>
Scheme
<lang scheme>(write (+ (read) (read)))</lang>
Python
Console
<lang python>r = raw_input().split() print int(r[0]) + int(r[1])</lang>
File
<lang python>fin = open("input.txt", "r") fout = open("output.txt","w") r = fin.readline().split() fout.write(str(int(r[0]) + int(r[1])))</lang>
Ruby
<lang ruby>puts gets.split.map{|x| x.to_i}.inject{|sum, x| sum + x}</lang>
<lang ruby>puts gets.split.map(&:to_i).inject(&:+)</lang>
SNOBOL4
Simple-minded solution (literally "two somethings separated by space") <lang snobol> input break(" ") . a " " rem . b output = a + b end</lang>
"Integer aware" solution: <lang snobol> nums = "0123456789" input span(nums) . a break(nums) span(nums) . b output = a + b end</lang>
Tcl
<lang tcl>scan [gets stdin] "%d %d" x y puts [expr {$x + $y}]</lang> Alternatively: <lang tcl>puts [tcl::mathop::+ {*}[gets stdin]]</lang> To/from a file: <lang tcl>set in [open "input.txt"] set out [open "output.txt" w] scan [gets $in] "%d %d" x y puts $out [expr {$x + $y}] close $in close $out</lang>