java藍橋杯試題高精度加法
阿新 • • 發佈:2019-02-01
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner sc=new Scanner(System.in);
String a;
String b;
int[] k=new int[101];//和 陣列
a=sc.nextLine();//存被加數
b=sc.nextLine();//存加數
int[] c=new int[100];
int[] d=new int[100];
//倒存被加數並分割到陣列中
for(int i=0;i<a.length();i++) {
c[a.length()-1-i]=Integer.parseInt(a.substring(i,i+1));
}
//倒存加數並分割到陣列中
for(int i=0;i<b.length();i++) {
d[b.length()-1-i]=Integer.parseInt(b.substring(i,i+1));
}
//兩數相加
for(int i=0;i<100;i++) {
k[i]=c[i]+d[i];
}
//相加進位
for(int i=0;i<100;i++) {
if(k[i]>=10) {
k[i+1]+=k[i]/10;
k[i]=k[i]%10;
}
}
int f=0;
for(int i=100;i>=0;i--) {
if(k[i]>0) {
f=i;
break;
}
}
for(int t=f;t>=0;t--) {
System.out.print(k[t]);
}
}
}
public class Main {
public static void main(String[] args) {
Scanner sc=new Scanner(System.in);
String a;
String b;
int[] k=new int[101];//和 陣列
a=sc.nextLine();//存被加數
b=sc.nextLine();//存加數
int[] c=new int[100];
int[] d=new int[100];
//倒存被加數並分割到陣列中
for(int i=0;i<a.length();i++) {
c[a.length()-1-i]=Integer.parseInt(a.substring(i,i+1));
}
//倒存加數並分割到陣列中
for(int i=0;i<b.length();i++) {
d[b.length()-1-i]=Integer.parseInt(b.substring(i,i+1));
}
//兩數相加
for(int i=0;i<100;i++) {
k[i]=c[i]+d[i];
}
//相加進位
for(int i=0;i<100;i++) {
if(k[i]>=10) {
k[i+1]+=k[i]/10;
k[i]=k[i]%10;
}
}
int f=0;
for(int i=100;i>=0;i--) {
if(k[i]>0) {
f=i;
break;
}
}
for(int t=f;t>=0;t--) {
System.out.print(k[t]);
}
}
}