求高次方的尾数,提交出现RUNTIME EROR怎么回事?
题目:Time Limit:2000MS Memory Limit:65536K
Total Submit:360 Accepted:96
Description
求x的y次方的最后k位数。
Input
第一行包含一个整数n(1≤n≤100),表示测试用例的个数。
每个测试用例的输入有一行,整数x,y,k。其中,0<x≤1000,0≤y≤1000; 0<k≤4;
Output
对每个测试用例输出一行。输出x的y次方的最后k位数(忽略前导0)。
Sample Input
2
2 10 3
10 1000 4
Sample Output
24
0
Hint
注意:高次方的结果会超过32位二进制整数的表示范围
我的程序:
#include<stdio.h>
void main()
{
int i,j,x,y,k,n,last=1,s=1;
int b[10000];
scanf("%d",&n);
for(i=0;i<n;i++)
{
scanf("%d%d %d",&x,&y,&k);
for(j=1;j<=y;j++)
last=last*x;
for(j=1;j<=k;j++)
s=s*10;
b[i]=last%s;
}
for(i=0;i<n;i++)
printf("%d\n",b[i]);
}
提交时出现RUNTIME ERROR,
是怎么回事啊?要怎么修改?