A+B Problem——经典中的经典

A+B Problem,这道题,吸收了天地的精华,是当之无愧的经典中的经典中的经典。自古以来OIer都会经过它的历练(这不是白说吗?),下面就有我herobrine来讲讲这道题的各种做法。

好吧,同志们,我们就从这一题开始,向着蒟蒻 呸,大佬的路进发。

任何一个伟大的思想,都有一个微不足道的开始。

前方高能

C

#include <stdio.h>
int main() {
    int a,b;
    scanf("%d%d",&a,&b);
    printf("%d", a+b);
    return 0;
}

C++

#include <iostream>
#include <cstdio>
using namespace std;
int main() {
    int a,b;
    cin >> a >> b;
    cout << a+b;
    return 0;
}

Pascal

var a, b: longint;
begin
    readln(a,b);
    writeln(a+b);
end.

Python2

s = raw_input().split()
print int(s[0]) + int(s[1])

Python3

s = input().split()
print(int(s[0]) + int(s[1]))

Java

import java.io.*;
import java.util.*;
public class Main {
    public static void main(String args[]) throws Exception {
        Scanner cin=new Scanner(System.in);
        int a = cin.nextInt(), b = cin.nextInt();
        System.out.println(a+b);
    }
}

JavaScript (Node.js)

const fs = require('fs')
const data = fs.readFileSync('/dev/stdin')
const result = data.toString('ascii').trim().split(' ').map(x => parseInt(x)).reduce((a, b) => a + b, 0)
console.log(result)
process.exit() // 请注意必须在出口点处加入此行

Ruby

a, b = gets.split.map(&:to_i)
print a+b

PHP

<?php
$input = trim(file_get_contents("php://stdin"));
list($a, $b) = explode(' ', $input);
echo $a + $b;

Rust

use std::io;
fn main(){
    let mut input=String::new();
    io::stdin().read_line(&mut input).unwrap();
    let mut s=input.trim().split(' ');
    let a:i32=s.next().unwrap()
               .parse().unwrap();
    let b:i32=s.next().unwrap()
               .parse().unwrap();
    println!("{}",a+b);
}

Go

package main
import "fmt"
func main() {
    var a, b int
    fmt.Scanf("%d%d", &a, &b)
    fmt.Println(a+b)
}

C# Mono

using System;
public class APlusB{
    private static void Main(){
        string[] input = Console.ReadLine().Split(' ');
        Console.WriteLine(int.Parse(input[0]) + int.Parse(input[1]));
    }
}

Visual Basic Mono

Imports System
Module APlusB
    Sub Main()
        Dim ins As String() = Console.ReadLine().Split(New Char(){" "c})
        Console.WriteLine(Int(ins(0))+Int(ins(1)))
    End Sub
End Module

Kotlin

fun main(args: Array<String>) {
    val (a, b) = readLine()!!.split(' ').map(String::toInt)
    println(a + b)
}

Haskell

main = do
    [a, b] <- (map read . words) `fmap` getLine
    print (a+b)

Scala

object Main extends App {
    println(scala.io.StdIn.readLine().split(" ").map(_.toInt).sum)
}

Perl

my $in = <STDIN>;
chomp $in;
$in = [split /[\s,]+/, $in];
my $c = $in->[0] + $in->[1];
print "$c\n";

最后,也就是最高能的时候。
大家都知道,我博主是主攻C++的嘛,所以,最后我带来了C++的高精度版:

#include<stdio.h>
#include<string.h>
int main()
{
    char a[120],b[120];
    int num1[120],num2[120];
    int sum[120];
    int len1,len2,len,i,temp;
    scanf("%s%s",a,b);
    memset(num1,0,sizeof(num1));            
    memset(num2,0,sizeof(num2));             
    memset(sum,0,sizeof(sum));
    len1=strlen(a);
    len2=strlen(b);
    len=len1>len2?len1:len2;
    for(i=0;i<len1;i++)
    {
        num1[i]=a[len1-i-1]-'0';
    }
    for(i=0;i<len2;i++)
    {
        num2[i]=b[len2-i-1]-'0';
    }
    for(i=0;i<len;i++)
    {
        sum[i]=num1[i]+num2[i];
    }
    for(i=0;i<len;i++)
    {
        temp=sum[i];
        sum[i]=temp%10;
        sum[i+1]+=temp/10;
    }
    if(sum[len]>0)
    {
        len++;
    }
    for(i=len-1;i>=0;i--)
    {
        printf("%d",sum[i]);
    }
    printf("\n");
    return 0;
} 

这里,小编再奉上一份超简洁的A+B高精版
Python

a=input()
b=input()
a=int(a)
b=int(b)
print(a+b)

END

标准结局:
在这里插入图片描述

猜你喜欢

转载自www.cnblogs.com/herobrine-life/p/10959413.html