A+B: Difference between revisions

From Rosetta Code
Content deleted Content added
m Alphabetize
→‎Solution: whitespace improvements
Line 25: Line 25:
|}
|}


= Solution =
= Solutions =


=={{header|C}}==
=={{header|C}}==
<lang c>// Standard input-output streams
<lang c>
// Standard input-output streams
#include <stdio.h>
#include <stdio.h>
main()
main()
Line 50: Line 49:
printf("%d\n", a + b);
printf("%d\n", a + b);
return 0;
return 0;
}</lang>
}
</lang>


=={{header|C++}}==
=={{header|C++}}==
<lang cpp>
<lang cpp>// Standard input-output streams
// Standard input-output streams
#include <iostream>
#include <iostream>
using namespace std;
using namespace std;
Line 64: Line 61:
cout << a + b << endl;
cout << a + b << endl;
return 0;
return 0;
}</lang>
}
<lang cpp>// Input file: input.txt
</lang>
<lang cpp>
// Input file: input.txt
// Output file: output.txt
// Output file: output.txt
#include <fstream>
#include <fstream>
Line 79: Line 74:
out << a + b << endl;
out << a + b << endl;
return 0;
return 0;
}</lang>
}
</lang>


=={{header|C_sharp|C#}}==
=={{header|C_sharp|C#}}==
<lang csharp>
<lang csharp>using System.IO;
using System.IO;


class plus {
class plus {
Line 98: Line 91:
}
}
}
}
}</lang>
}
</lang>


=={{header|Factor}}==
=={{header|Factor}}==
Line 106: Line 98:
[ string>number ] bi@ +
[ string>number ] bi@ +
number>string print ;</lang>
number>string print ;</lang>
<pre>

( scratchpad ) a+b
( scratchpad ) a+b
2 2
2 2
4
4
</pre>


=={{header|Haskell}}==
=={{header|Haskell}}==
<lang text>
<lang text>import Control.Monad
import Control.Monad


main = liftM2 (+) readLn readLn >>= print
main = liftM2 (+) readLn readLn >>= print</lang>
</lang>


=={{header|Java}}==
=={{header|Java}}==
Line 156: Line 147:
out.println(nextInt() + nextInt());
out.println(nextInt() + nextInt());
}
}
}</lang>
}
</lang>


<lang java>import java.io.*;
<lang java>import java.io.*;
Line 180: Line 170:


=={{header|Pascal}}==
=={{header|Pascal}}==
<lang pascal>
<lang pascal>var
var
a, b: integer;
a, b: integer;
begin
begin
readln(a, b);
readln(a, b);
writeln(a + b);
writeln(a + b);
end.
end.</lang>
</lang>
Same with input from file <tt>input.txt</tt> and output from file <tt>output.txt</tt>.
Same with input from file <tt>input.txt</tt> and output from file <tt>output.txt</tt>.
<lang pascal>
<lang pascal>var
var
a, b: integer;
a, b: integer;
begin
begin
Line 199: Line 186:
close(input);
close(input);
close(output);
close(output);
end.
end.</lang>
</lang>


=={{header|PicoLisp}}==
=={{header|PicoLisp}}==
Line 208: Line 194:


=={{header|Scheme}}==
=={{header|Scheme}}==
<lang scheme>
<lang scheme>(write (+ (read) (read)))</lang>
(write (+ (read) (read)))
</lang>


=={{header|Python}}==
=={{header|Python}}==
===Console===
===Console===
<lang python>
<lang python>r = raw_input().split()
print int(r[0]) + int(r[1])</lang>
r = raw_input().split()
print int(r[0]) + int(r[1])
</lang>
===File===
===File===
<lang python>
<lang python>fin = open("input.txt", "r")
fin = open("input.txt", "r")
fout = open("output.txt","w")
fout = open("output.txt","w")
r = fin.readline().split()
r = fin.readline().split()
fout.write(str(int(r[0]) + int(r[1])))
fout.write(str(int(r[0]) + int(r[1])))</lang>
</lang>


=={{header|Ruby}}==
=={{header|Ruby}}==
<lang ruby>puts gets.split(/\s+/).map{|x| x.to_i}.inject{|sum, x| sum + x}</lang>
<lang ruby>
puts gets.split(/\s+/).map{|x| x.to_i}.inject{|sum, x| sum + x}
</lang>

Revision as of 19:31, 8 April 2010

Task
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

  1. include <stdio.h>

main() {

  int a, b;
  scanf("%d%d", &a, &b);
  printf("%d\n", a + b);

} </lang> <lang c> // Input file: input.txt // Output file: output.txt

  1. 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

  1. 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

  1. 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 text>import Control.Monad

main = liftM2 (+) readLn readLn >>= print</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>

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>

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(/\s+/).map{|x| x.to_i}.inject{|sum, x| sum + x}</lang>