作业帮 > 综合 > 作业

我知道下面的程序错误是因为数太大2^30,

来源:学生作业帮 编辑:作业帮 分类:综合作业 时间:2024/06/03 11:30:40
我知道下面的程序错误是因为数太大2^30,
给定a和b,输出a^b的最后一个数字.
输入
输入数据有多组,每组数据占一行,每行为a和b的值(0
思维太死了,你想想要求的最后一位跟什么有关?这结果不就跟求a的最后一位的b次方一样吗?然后,你想想,b次方里面,每4次方不是一个循环吗?比如对3来说,3-9-7-1-3-9-7-1,对7来说7-9-3-1-7-9-3-1,那么这个程序不就相当于,先求a%10得到最后一位,然后求b%4求出余数,然后用循环求(a%10)的(b%4)次方的最后一位不就好了嘛
再问: #include int main() {int a,s,d,f,i; while(scanf("%d%d",&a,&s)) { if(s==0) printf("1\n"); else { s=s%4; a=a%10; if(s==0) {for(i=0,d=1;i