zoukankan      html  css  js  c++  java
  • HDU A + B Problem II 大数据

     1 import static java.lang.System.out;
     2 import java.math.BigInteger;
     3 import java.util.Scanner;
     4 
     5 public class Main {
     6 
     7     public static void main(String[] args) {
     8         BigInteger a, b;
     9         Scanner sc = new Scanner(System.in);
    10         int T = sc.nextInt();
    11         for (int i = 1; i <= T; i++) {
    12             a = sc.nextBigInteger();
    13             b = sc.nextBigInteger();
    14             out.println("Case " + i + ":");
    15             out.println(a + " + " + b + " = " + a.add(b));
    16             if (i < T)
    17                 out.println();
    18         }
    19     }
    20 }
    View Code

    java中更加快捷

     1 #include <iostream>
     2 #include <cstdio>
     3 #include <cstring>
     4 #include <cstdlib>
     5 #define sc(x) scanf("%d",&x)
     6 #define pf(x) printf("%d
    ",x)
     7 #define PF(x) printf("%d",x)
     8 #define CL(x,y) memset(x,y,sizeof(x))
     9 using namespace std;
    10 const int MAX = 1005;
    11 char a[MAX], b[MAX];
    12 int aLen, bLen, n;
    13 int T, k, i, j;
    14 void Add(char* a, char* b);
    15 int main()
    16 {
    17     sc(T);
    18     for(i = 1; i <= T; i++)
    19     {
    20         CL(a, 0);
    21         CL(b, 0);
    22         cin >> a >> b;
    23         printf("Case %d:
    ", i);
    24         cout << a << " + " << b << " = ";
    25         Add(a, b);
    26         if(i < T) printf("
    ");
    27     }
    28     return 0;
    29 }
    30 void Add(char* a, char* b)
    31 {
    32     aLen = strlen(a);
    33     bLen = strlen(b);
    34     n = MAX - (aLen > bLen ? aLen : bLen);//设置等位线
    35     for(j = aLen-1, k = MAX; j >= 0; --j, --k)
    36     {
    37         a[k] = a[j]-'0';
    38         a[j] = 0;
    39     }
    40     for(j = bLen-1, k = MAX; j >= 0; --j, --k)
    41     {
    42         b[k] = b[j]-'0';
    43         b[j] = 0;
    44     }
    45     for(k = MAX; k >= n; --k)
    46         a[k] += b[k];
    47     for(k = MAX; k >= n; --k)
    48     {
    49         int temp = a[k]/10;//进位
    50         a[k-1] += temp;
    51         a[k] %= 10;
    52     }
    53     for(k = n+1; k <= MAX; k++)
    54 //            cout << a[k] << endl;
    55         PF(a[k]);
    56         cout << endl;
    57 }
    View Code
  • 相关阅读:
    线程池
    并发工具类
    并发编程专题
    HashMap底层源码剖析
    ConcurrentHashMap底层实现
    双列集合Map相关面试题
    Map与HashMap
    使用IDEA搭建一个 Spring + Spring MVC 的Web项目(零配置文件)
    一个oracle的实例(包含传参数)
    一个oracle的实例(包含定位错误)
  • 原文地址:https://www.cnblogs.com/ghostTao/p/4329740.html
Copyright © 2011-2022 走看看