任意次方后的最后三位数——c语言算法实现

来源:互联网 发布:java远程调用dll 编辑:程序博客网 时间:2024/06/06 09:44

题目:


求一个整数任意次方的最后三位数,即x^y的最后三位数,要求x,y从键盘输入


解析:


取最后三位数,我们首先想到的肯定是用取余运算,如果直接将运算结果来进行取余的话就会有越界的危险,因此,我们可以将幂运算分开来做,每次相乘后都取其最后三位,如:8^3,先算8*8,取其后三位,再算64*8,再取其后三位,这样就不会越界。


#include "stdio.h"void main(){int i,x,y,z = 1;//x,y为x^y,z为最后三位数printf("请输入两个数:\n");scanf(" %d%d",&x,&y);//输入底数和幂数for (i = 1;i <= y;i++)//底数每乘一次就取其后三位数{z = z*x % 1000;}if (z > 100){printf("最后三位数为:%d\n",z);}else if(z < 10){printf("最后三位数为:00%d\n",z);}else{printf("最后三位数为:0%d\n",z);}}

运行结果如图:




原创粉丝点击