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

標准結局:
在這里插入圖片描述


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM