HDU 1097 A hard puzzle(规律)

来源:互联网 发布:js bind方法详解 编辑:程序博客网 时间:2024/05/20 11:27
题目:

http://acm.hdu.edu.cn/showproblem.php?pid=1097

题意:

求a的b次方的最后一位。

题解:

直接从例子入手,

第一组数据 7 66,结果如下(只要最后一位所以模10)

7 9 3 1 7 9···

循环节为4,即结果在4个数值内循环出现。

第二组数据 6 800,结果如下

6 6 6 6···

循环节为1

···

数位只有10种情况,所以循环节不会大于10

代码:

#include<cstdio>int v[11];int main(){int a,b;while(~scanf("%d%d",&a,&b)){int i;a=a%10;v[1]=a;int xunhuan;for(i=2;i<=10;i++){v[i]=(v[i-1]*a)%10;if(v[i]==a) {xunhuan=i-1;break;}}b=b%xunhuan;if(b==0) printf("%d\n",v[xunhuan]);else printf("%d\n",v[b]);}return 0;}


0 0
原创粉丝点击