原根--解题报告 sn0823T1
来源:互联网 发布:穆斯林 欧洲 知乎 编辑:程序博客网 时间:2024/06/05 18:09
题意为:给一个数M,求模M的所有原根。
原根:(与M互质,小于M)以g为底,使g的j次方%M所得值为1的最小指数j为phi(M)时,g便是M的一个原根。
方法:按题目说的去模拟吧-_-!.
代码如下
#include<iostream>#include<math.h>#include<algorithm>#include<stdio.h>#include<string.h>using namespace std;int m,phi=0; inline int gcd(int x,int y){ if (y==0) return x; return gcd(y,x%y);}int main(){scanf("%d",&m);for(int i=1;i<m;i++){if(gcd(m,i)==1){phi++;}}//裸求欧拉函数bool flag=0;for(int i=1;i<=m;i++){if(gcd(i,m)==1)//如果互质{int jian=1;int jk=0;for(int j=1;j<=phi;j++){jian=(jian*i)%m;//看i的几次方%m=1if(jian==1){jk=j;break;}}if(jk==phi)//如果最小的次方数是m的欧拉函数{flag=1;//有cout<<i<<endl;//输出它} } } if(flag==0) { cout<<-1<<endl;//如果没有输出-1 } }
0 0
- 原根--解题报告 sn0823T1
- USACO 2.4.2 穿越栅栏(原题) 解题报告
- 解题报告
- 解题报告
- 解题报告
- 解题报告
- 解题报告
- 解题报告
- 解题报告
- 2016年小码哥杯(原甲骨文杯)A组初赛编程题 解题报告
- 论考试的题目应该是多少年前的原题-解题报告
- Antiprime解题报告
- expr解题报告
- 华容道解题报告
- tju解题报告
- zju1062/pku1095解题报告
- UsacoGate解题报告 --- 序曲
- ZJU 2060 解题报告
- SQLite在VC环境下的使用
- Java内存分配全面浅析
- Oracle并行执行特性应用初探
- 大还是小?
- 数据加密标准
- 原根--解题报告 sn0823T1
- select 中的树
- iOS 实现UIImageView的椭圆效果
- junit
- Java中WebService实例
- 如何提交form执行action, 不跳转页面
- |Vijos|树状数组|P1512 SuperBrother打鼹鼠
- NPOI导入导出数据
- Java中System.loadLibrary() 的执行过程