NC219500. 加法运算
描述
输入描述
n和m,中间用空格隔开。0<n,m<10500
输出描述
一个T。表示答案
示例1
输入:
2 3
输出:
5
C++(clang++11) 解法, 执行用时: 8ms, 内存消耗: 500K, 提交时间: 2021-03-12 11:18:18
#include<stdio.h> #include<string.h> int main(){ char s[10000],str[10000]; int m,n,i,j,x; int a[10000],b[10000]; scanf("%s",s); scanf("%s",str); m=strlen(s); n=strlen(str); for(i=0;i<n;i++){ a[i]=str[n-i-1]-48; } for(i=0;i<m;i++){ b[i]=s[m-i-1]-48; } j=(m>n)?m:n; for(i=0;i<j;i++){ a[i+1]+=x=(a[i]+b[i])/10; a[i]=(a[i]+b[i])%10; } if(x) j++; for(i=0;i<j;i++) printf("%d",a[j-1-i]); return 0; }
C(clang11) 解法, 执行用时: 6ms, 内存消耗: 376K, 提交时间: 2021-03-12 10:42:17
#include<stdio.h> #include<string.h> int main(){ int a[1000]={0},b[1000]={0},x,c,d,i,j; char m[1000],n[1000]; scanf("%s",m); c=strlen(m); for(i=0;i<c;i++) a[i]=m[c-1-i]-48; scanf("%s",n); d=strlen(n); for(i=0;i<d;i++) b[i]=n[d-1-i]-48; x=(c>d)?c:d; for(i=0;i<x;i++){ a[i+1]+=j=(a[i]+b[i])/10; a[i]=(a[i]+b[i])%10; } if(j)x++; for(i=0;i<x;i++) printf("%d",a[x-1-i]); return 0; }
Java 解法, 执行用时: 42ms, 内存消耗: 11000K, 提交时间: 2021-07-26 20:46:36
import java.math.BigInteger; import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); BigInteger n = scanner.nextBigInteger(); BigInteger m = scanner.nextBigInteger(); System.out.println(n.add(m)); } }
Python3(3.9) 解法, 执行用时: 22ms, 内存消耗: 2816K, 提交时间: 2021-03-13 18:55:40
a = int(input()) b = int(input()) print(a+b)