NOIP2005普及组第四题
来源:互联网 发布:大闸蟹 二恶英 知乎 编辑:程序博客网 时间:2024/05/20 17:09
题目描述
乐乐是一个聪明而又勤奋好学的孩子。他总喜欢探求事物的规律。一天,他突然对数的正整数次幂产生了兴趣。
众所周知,2的正整数次幂最后一位数总是不断的在重复2,4,8,6,2,4,8,6……我们说2的正整数次幂最后一位的循环长度是4(实际上4的倍数都可以说是循环长度,但我们只考虑最小的循环长度)。类似的,其余的数字的正整数次幂最后一位数也有类似的循环现象:
循环 循环长度
2 2、4、8、6
4
3 3、9、7、1
4
4 4、6 2
5 5 1
6 6 1
7 7、9、3、1
4
8 8、4、2、6
4
9 9、1 2
这时乐乐的问题就出来了:是不是只有最后一位才有这样的循环呢?对于一个整数n的正整数次幂来说,它的后k位是否会发生循环?如果循环的话,循环长度是多少呢?
注意:
1. 如果n的某个正整数次幂的位数不足k,那么不足的高位看做是0。
2. 如果循环长度是L,那么说明对于任意的正整数a,n的a次幂和a + L次幂的最后k位都相同。
输入输出格式
输入格式:
输入文件circle.in只有一行,包含两个整数n(1 <= n < 10^100)和k(1 <= k <= 100),n和k之间用一个空格隔开,表示要求n的正整数次幂的最后k位的循环长度。
输出格式:
输出文件circle.out包括一行,这一行只包含一个整数,表示循环长度。如果循环不存在,输出-1。
输入输出样例
输入样例#1:
32 2
输出样例#1:
4
说明
对于30%的数据,k <= 4;
对于全部的数据,k <= 100。
NOIP2005普及组第四题
30分,取后4位数。
//如何去判断是否时候循环节?数组存储? #include<iostream>#include<cstdio>#include<cmath>using namespace std;int n,k,q;int a[10000000];//int quick(int x,int m)//快速幂到多大? //{// int tmp=x,ans=1;// while(m)// {// if(m&1)// {// ans=ans*tmp % q; // }// tmp*=tmp; // m>>=1;// }// return ans;//}int main(){ scanf("%d%d",&n,&k); k=pow(10,k);// a[1]=n%k;// a[2]=a[1]* (n%k) %k;// a[3]=a[2]* (n%k) %k;// a[4]=a[3]* (n%k) %k; int p=n%k; a[0]=1; for(int i=1;i<=1000000;i++) { a[i]=a[i-1]*p %k;//最多就是四位数*四位数 //kmp?判断循环节? //当后两位相同时,下一个数也是*p%k,因此也相同,以此类推,找出循环节。 if(i>1 && a[i]==a[1]){ cout<<i-1<<endl; return 0; } } cout<<-1<<endl; return 0;}
阅读全文
0 0
- NOIP2005普及组第四题
- 循环(NOIP2005普及组第四题)
- NOIP2005普及组 循环
- NOIP2005普及组试题分析
- 【NOIP2005普及组T4】循环-高精度
- noip2011普及组第四题
- noip2015普及组第四题
- 【动态规划】Vijos P1104 采药(NOIP2005普及组第三题)
- 校门外的树(NOIP2005复赛 普及组 第二题)
- 校门外的树NOIP2005复赛普及组
- 洛谷 P1046 陶陶摘苹果 NOIP2005普及组
- 洛谷 P1047 校门外的树 NOIP2005 普及组
- NOIP2015普及组第四题解题报告
- NOIP2016普及组 第四题 题解
- Noip2015普及组第四题 Salesman的解题报告
- 【noip普及组2016】第四题“魔法阵”
- NOIP2016普及组第四题——魔法阵
- NOIP2016普及组第四题——魔法阵
- C++之智能指针shared_ptr
- Box
- 51Nod 1084 矩阵取数问题
- mmc子系统总结
- 限制容器对CPU的使用
- NOIP2005普及组第四题
- js的打印(输出)方式console.log(),console.dir(),console.table()
- UIScrollView和UIPageController
- Android简单物流查询
- 锁Lock
- HTTP状态码大全
- 点对点通信、数据链路层、点对点链路、PPP、PPPOE、PPTP、L2TP-VPN简介
- 设计模式(Design Pattern)
- Android 7.0中数据流量开关与数据图标对应