ZCMU-1180(大数相乘)

1180: a1*a2*a3*...*an

Time Limit: 1 Sec   Memory Limit: 128 MB
Submit: 286   Solved: 88
[ Submit][ Status][ Web Board]

Description

求a1*a2*a3*...*an的值

Input

第一行一个整数T,表示接下来有T行

每行一个正整数是N,然后是N个正整数a1,a2,a3...an,(0

Output

输出值

Sample Input

2
5 1 2 3 4 5
4 1000 1000 1000 1000

Sample Output

120
1000000000000

【解析】
此题就是运用大数相乘的原理做的。不过在做这道题之前,我还不会....原理很简单,两者之间相乘,低位放在下标
小的地方,高位放在下标大的地方,如果有进位那就加上进位的那个数,保证数组中的每一个元素对应一个位。
#include
#include
using namespace std;
int main()
{
    int i,t,n,j,flag,temp,jinwei,length;
    scanf("%d",&t);
    while(t--)
    {
        flag=0;
        jinwei=0;
        length=1;
        scanf("%d",&n);
        int num[n];
        int sum[10000]={1};
        for(i=0;i0)
                {
                    sum[length++]=jinwei%10;
                    jinwei/=10;
                }
            }
            for(j=length-1;j>=0;j--)
            {
                printf("%d",sum[j]);
            }
            printf("\n");
        }
    }
    return 0;
}

你可能感兴趣的:(ACM)