1 solutions
-
0
C :
#include<stdio.h> #include<string.h> #define N 100 main() { void add(char a[],char b[],char c[]); char a[N],b[N]; char str[N]; scanf("%s%s",a,b); add(a,b,str); printf("%s",str); } void add(char a[],char b[],char c[]) { int i,e,d; int n,m; char temp; n=strlen(a); m=strlen(b); for(i=0;i<n/2;i++) {temp=a[i];a[i]=a[n-1-i];a[n-1-i]=temp;} for(i=0;i<m/2;i++) {temp=b[i];b[i]=b[m-1-i];b[m-1-i]=temp;} e=0; for(i=0;i<n&&i<m;i++) { d=a[i]-'0'+b[i]-'0'+e; e=d/10; c[i]=d%10+'0'; } if(i<m) { for(;i<m;i++) { d=b[i]-'0'+e; e=d/10; c[i]=d%10+'0'; } } else { for(;i<n;i++) { d=a[i]-'0'+e; e=d/10; c[i]=d%10+'0'; } } if(e) c[i++]=e+'0'; c[i]=0; n=i; for(i=0;i<n/2;i++) {temp=c[i];c[i]=c[n-1-i];c[n-1-i]=temp;} }
C++ :
#include<cstdio> #include<cstring> using namespace std; struct node { int len,a[110]; node() { memset(a,0,sizeof(a));len=1; } }; node pplus(node n1,node n2) { node no;int i; if (n1.len>n2.len) no.len=n1.len; else no.len=n2.len; for (i=1;i<=no.len;i++) no.a[i]=n1.a[i]+n2.a[i]; for (i=1;i<=no.len;i++) { no.a[i+1]+=no.a[i]/10; no.a[i]%=10; }i=no.len; while (no.a[i+1]>0) { i++; no.a[i+1]=no.a[i]/10; no.a[i]%=10; }no.len=i; return no; } char s1[110],s2[110]; int main() { node n1,n2,no;int i; scanf("%s",s1); scanf("%s",s2); n1.len=strlen(s1);n2.len=strlen(s2); for(i=0;i<n1.len;i++) n1.a[i+1]=s1[n1.len-i-1]-'0'; for(i=0;i<n2.len;i++) n2.a[i+1]=s2[n2.len-i-1]-'0'; no=pplus(n1,n2); for(i=no.len;i>=1;i--) printf("%d",no.a[i]); printf("\n"); return 0; }
Java :
import java.util.Scanner; public class Main { public static void main(String[] args) { // TODO Auto-generated method stub Scanner in = new Scanner(System.in); String a = in.next(); String b = in.next(); plus p = new plus(); p.pl(a, b); } } class plus { String str = ""; public void pl(String a, String b) { int lenA = a.length(); int lenB = b.length(); int max = (lenA >= lenB) ? lenA : lenB; int min = (lenB > lenA )? lenA : lenB; String zr = "0"; for (int i = 0; i < max - min; i++) { str += zr ; } if (max == lenA) { b = str+b; } else { a = str +a; } int jw = 0; String haha = ""; for (int j = max - 1; j >= 0; j--) { int s=0; int tA = Integer.parseInt(String.valueOf(a.charAt(j))); int tB = Integer.parseInt(String.valueOf(b.charAt(j))); if (tA + tB + jw >= 10) { if(j==0){ s += tA + tB +jw; jw = 1; }else{ s += tA + tB +jw- 10; jw = 1; } } else { s += tA + tB+jw; jw = 0; } //// str += String.valueOf(s) + str; // System.out.print(String.valueOf(s)); haha =String.valueOf(s)+haha; } System.out.println(haha); } }
- 1
Information
- ID
- 599
- Time
- 1000ms
- Memory
- 128MiB
- Difficulty
- (None)
- Tags
- # Submissions
- 0
- Accepted
- 0
- Uploaded By