poj2602--大数加法

poj2602--大数加法
一道简简单单的大数加法题,时间竟然卡在getchar()和putchar()上,我用scanf()和printf()硬是超时了,超时了啊亲,这么坑爹的有木有啊,有木有!!
2602    Accepted    1136K     1938MS    C++    702B
以下是本题代码:

#include<stdio.h>
#include
<stdlib.h>
#include
<string.h>
#define LEN 1000010
char num1[LEN];
int N;
int main()
{
    
int i, j;
    
char a, b;
    scanf(
"%d"&N);
    
int count = N - 1;
    getchar();
    
for(i = 0; i < N; i++)
    {
        a 
= getchar();
        getchar();
        b 
= getchar();
        getchar();
        num1[count] 
= a - '0' + b - '0';
        count
--;    
    }
    
int t = 0;
    
int t2;
    
for(i = 0; i < N + 2; i++)//carry bit
    {
        t2 
= num1[i] + t;
        num1[i] 
= t2 % 10;
        t 
= t2 / 10;
    }
    
for(i = N - 1; i >= 0; i--)//out
        putchar(num1[i] + '0');
    putchar(
10);
    
//system("pause");
}

你可能感兴趣的:(poj2602--大数加法)