大整数加法

痛定思痛。 2022-09-26 02:49 318阅读 0赞
  1. package test;
  2. import java.util.Scanner;
  3. public class Jiafa {
  4. static int N=100;
  5. static int a[]=new int[N];
  6. static int b[]=new int[N];
  7. static int c[]=new int[N+1];
  8. static String s1;
  9. static String s2;
  10. /**
  11. * @param args
  12. */
  13. public static void main(String[] args) {
  14. // TODO Auto-generated method stub
  15. Jiafa demo=new Jiafa();
  16. demo.Input();
  17. demo.Add(a,b,c);
  18. demo.Output();
  19. }
  20. private void Output() {
  21. System.out.println("result=");
  22. int flag=N;
  23. while(c[flag]==0) {
  24. flag--;
  25. if(flag==-1) {
  26. System.out.println("0");
  27. return ;
  28. }
  29. }
  30. for(int i=flag;i>=0;i--) {
  31. System.out.print(c[i]);
  32. }
  33. System.out.println();
  34. }
  35. private void Add(int a[],int b[],int c[]) {
  36. for(int i=0;i<N;i++) {
  37. c[i]=a[i]+b[i];
  38. }
  39. for(int i=0;i<N;i++) {
  40. c[i+1]+=c[i]/10;
  41. c[i]=c[i]%10;
  42. }
  43. }
  44. private void Input() {
  45. System.out.println("input two big data:");
  46. Scanner scanner=new Scanner(System.in);
  47. s1=scanner.nextLine();
  48. s2=scanner.nextLine();
  49. GetDigit(s1, a);
  50. GetDigit(s2, b);
  51. }
  52. private void GetDigit(String s,int a[]) {
  53. int len=s.length();
  54. for(int i=0;i<len;i++) {
  55. a[i]=s.charAt(len-1-i)-'0';
  56. }
  57. }
  58. }

发表评论

表情:
评论列表 (有 0 条评论,318人围观)

还没有评论,来说两句吧...

相关阅读

    相关 poj1503 整数加法

    题目: 大整数加法,每个整数至多包含100个数字,最多100个整数相加,计算并输出结果。 输入: 最多输入100行数据,每行输入一个正整数,输入0结束输入。

    相关 整数加法

    问题描述:求两个不超过200为的非负整数的和 输入数据:输入有两行,每行是一个不超过200位的非负整数,没有多于的前导0. 输出要求:输出只一行,即相加后的结果。结果里不能

    相关 数组形式的整数加法

    题目: 对于非负整数 X 而言,X 的数组形式是每位数字按从左到右的顺序形成的数组。例如,如果 X = 1231,那么其数组形式为 \[1,2,3,1\]。 给定非负整数