51nod 1135 原根 (数论)
来源:互联网 发布:android 防止sql注入 编辑:程序博客网 时间:2024/06/13 20:17
数论问题,花了两小时才解决,要用到费马小定理
代码如下:
#include<bits/stdc++.h>using namespace std;typedef long long ll;const int maxn=31623;int bz[maxn],kb=0;;bool jg[maxn]={0};ll suanm(ll a,ll n,ll m){ll sum=1,t=a;while(n){if(n%2)sum=(sum*t)%m;t=(t*t)%m;n/=2;}return sum;}void init(){int i,j;for(i=2;i<maxn;i++){if(jg[i]==0){for(j=2*i;j<maxn;j+=i)jg[j]=1;bz[kb++]=i;}}}int main(){init();ll m;cin>>m;ll i;for(i=2;i<m;i++){ll t=m-1,j=0;bool ff=0;while(t){if(t%bz[j]==0)while(t%bz[j]==0)t/=bz[j];//cout<<bz[i]<<' '<<t<<endl;if(suanm(i,(m-1)/bz[j],m)==1){ff=1;break;}j++;if(t<=bz[j]||j>=kb)break;}if(ff==1)continue;else break;}cout<<i<<endl;}
0 0
- 51nod--1135 原根 (数论)
- 51nod 1135 原根 (数论)
- 51nod 1135 原根 (数论)
- 51nod 1135 原根
- 51nod 1135 原根
- 【51nod 1135 原根】
- 51nod-1135:原根
- 51nod 1135 原根
- 51nod 1135 原根
- 51nod 1135 原根
- 51nod 1135 原根
- 51 Nod 1135 原根
- 51 NOD 1135 原根
- 51nod 1135原根
- 51Nod 1135 原根
- 51nod 1135 原根
- 51nod 1135 原根
- 51Nod-1135-原根
- 项目:文件的压缩与解压
- 建议118:使用SecureString保存密钥等机密字符串
- WebService学习总结(四)——调用第三方提供的webService服务(.net问题)
- Python获取网页源码并保存为文件Demo
- 算法考题-货币
- 51nod 1135 原根 (数论)
- 图解understand分析一个asp.net办公系统源码
- mysql 锁分类概述
- C++ websocket库 websocketpp/websocket++例子编译试用
- js找出页面宽度和高度大于某个值的所有节点
- js常用事件
- Ubuntu 安装Chromium浏览器并添加Flash插件Pepper Flash Player
- 关于部分手机的Edtitext光标样式问题
- Linux内存布局