趣味程序设计_高次方数

来源:互联网 发布:java车位管理系统源码 编辑:程序博客网 时间:2024/06/05 18:08
描述
求13的n次方(12<n≤130000000000)的最后三位数。例如:13的13次方的最后三位数是253,13的20次方的最后三位数是801。

输入

有多组测试数据,每组测试数据一行,即整数n。以文件结尾符结束。

输出

输出13的n次方的最后三位数

样例输入

1320

样例输出

253801

提示

64位整型用 long long 表示,格式串为"%lld"

#include<stdio.h>int main(){__int64 a,x,y;while(scanf("%I64d",&y)!=EOF)   //  注意:只能用于正次幂  即 y>=0  还要防止次数太高会溢出  {a=1;x=13;while(y)                            // c=(c*c)%1000    等价于  c=((c%1000)*(c%1000))%1000    取余{if(y%2==1){a=((a%1000)*(x%1000))%1000;}x=((x%1000)*(x%1000))%1000;y/=2;}if(a==0){printf("000\n");}else if(a<10){printf("00%I64d\n",a);}else if(a<100){printf("0%I64d\n",a);}elseprintf("%I64d\n",a);}return 0;}


0 0
原创粉丝点击