POJ 2602(数论)

题意:其实就是两个大数相加的和。

解题思路:由于输入方式不同,而位数N<=1000,000;所以很容易TLE,刚开始我定义了两个整型数组存放这两个大数,可是超时,后来查阅资料,发现开辟一个字符数组,在输入的过程中处理数据,就可以AC了。

View Code
 1 #include <stdio.h>
 2  int main()
 3 {
 4      char a[ 1000002]={ ' 0 '};
 5      int n,i;
 6      int x,y;
 7     scanf( " %d ",&n);
 8      for(i= 0;i<n;i++)
 9     {
10         scanf( " %d%d ",&x,&y);
11         a[i]=x+y+ ' 0 ';
12     }
13      for(i=n- 1;i>= 0;i--)
14     {
15          if(a[i]> ' 9 '){            
16             a[i]=a[i]- 10;
17             a[i- 1]=a[i- 1]+ 1;
18         }
19     }
20     printf( " %s\n ",a);
21      return  0;
22 }

 

你可能感兴趣的:(poj)