project euler problem 13:Large sum

Work out the first ten digits of the sum of the following one-hundred 50-digit numbers.

题意:给出一百个50位数字的数,算出他们的和,结果只取前十位数。

思路:这题就POJ中的2109题:K ^ N = P, 给N 和 P, 求K。1<=n<= 200, 1<=p<10101 , 1<=k<=109;这题用的就是double,因为它的范围达到10^308,所以这题也可以算,因为只用求前十位而已嘛!!答案是:5537376230

#include <iostream>
#include <map>
#include <string>
#include <cstring>
#include <cstdio>
#include <cmath>
#include <algorithm>
#include <vector>
#include <queue>
#include <set>
#include <stack>
#include <map>
using namespace std;
int main()
{
    int i;
    double sum=0,a;
    for(i=0;i<100;i++)
    {
        cin>>a;
        sum+=a;
    }
    printf("%.0f",sum);
    return 0;
}

你可能感兴趣的:(project euler problem 13:Large sum)