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 }

 

posted @ 2012-03-01 11:05  笑巧  阅读(194)  评论(0编辑  收藏  举报