九九归一
来源:互联网 发布:注册淘宝 编辑:程序博客网 时间:2024/06/07 09:04
稍作尝试可得三类情况, 分类讨论:
1. 根本就没有循环/循环节大于phi(n), 当且仅当a, n不互质
2. 循环节等于phi(n)
3. 循环节为phi(n)的因数
2, 3类情况需要通过运算来判别.
通过快速幂来加速运算(又是二进制拆分思想…)
代码不是我的.
#include<cstdio>#include<cstring>using namespace std;const int N=100100;int p[N],c[N],ans,n,m,k,x,tot,flag;long long pow(long long x,int len){ if (len==1) return x; long long t=pow(x,len/2); if (len%2) return t*t%k*(long long)x%k; else return t*t%k;}int main(){ scanf("%d%d",&n,&m); k=n;ans=n; for (int i=2;i*i<=n;i++) if (n%i==0) { while (n%i==0) n/=i; ans=ans/i*(i-1); } if (n!=1) ans=ans/n*(n-1); for (int i=2;i*i<=ans;i++) if (ans%i==0) { p[++tot]=i; if (ans/i!=i) p[++tot]=ans/i; } while (m--) { scanf("%d",&x); flag=1; for (int i=1;i<=tot;i++) if (pow(x,p[i])==1) { flag=0; break; } if (flag && pow(x,ans)==1) printf("1"); else printf("0"); } printf("\n");}
0 0
- 九九归一
- [代码笔记] python之 玩玩 while 我的九九归一
- WEB前端开发书籍
- 2016-11-14 我的第一篇博客
- 机器学习:特征选择之 Filter :Relief方法
- Buy and sell stock at best time(i,ii,iii)
- 第十一周-判断三角形
- 九九归一
- Repeating Decimals,ACM/ICPC World Finals 1990,UVa202
- 在做自动化测试之前你需要知道的,转自:http://www.cnblogs.com/fnng/p/3653793.html
- block 入门
- 计算机网络基本概念
- mac系统:HTTP Status 500 - java.lang.ClassNotFoundException: org.apache.jsp.helloworld_jsp
- Cocos2dx:cocos2d-x-3.2版本学习过程中所遇到的一些问题(每一次都是一次作死的感觉)
- fastJson的使用
- Web性能压力测试工具之WebBench详解