UVALive
来源:互联网 发布:重要经济数据公布时间 编辑:程序博客网 时间:2024/05/18 18:55
由 费马小定理可知:
a ^ b % m = a ^ ( b % (m-1) ) % m ;
(费马小定理:m是质数时 a ^ (m-1) % m = 1)
所以对于本题 枚举 a 的 1 - p 次幂对 p 取模,
#include <iostream>#include <cstdio>#include <string>#include <cstring>#include <algorithm>#include <cmath>#include <queue>#include <vector>#include <set>#include <stack>#include <map>#include <climits>using namespace std;typedef long long ll;const int maxn = 10 + 7, INF = 0x3f3f3f3f, mod = 1e9 + 7;ll p, a, b, x;bool solve(ll n) { //cout << n << " "; ll ans = 1; ll t = a; while(n) { if(n & 1) ans *= t, ans %= p; t = t * t; t %= p; n /= 2; } //cout << ans << " == " << endl; if(ans == b) return true; else return false;}int main() { ios::sync_with_stdio(0); cin >> p; while(cin >> a && a) { cin >> b; int f = 0; for(ll i = 1; i < p; ++i) { if(solve(i)) { cout << i << endl; f = 1; break;} } if(!f) cout << 0 << endl; } return 0;}
阅读全文
1 0
- UVALive
- UVALive
- UVALive
- UVALive
- UVALive
- UVALive
- UVALive
- UVALive
- UVALive
- UVALive
- UVALive
- UVALive
- UVALive
- UVALive
- UVALive
- UVALive
- UVALive
- UVALive
- Android 开发实战 布局
- java Runtime 中 的一些功能(创建一个进程 打开某个软件和关闭)
- 评论表结构
- 前端测试
- 流式大数据处理的三种框架:Storm,Spark和Samza
- UVALive
- S01开始
- 腾讯的乘法效应:在开放后,走向“再开放”
- 为什么每平方英尺的Apple Store值一辆奔驰?
- 任天堂:我们不准备亏本销售NX游戏主机
- 无人机的天敌,让你知道无人机是怎么被打下来的
- hdu 1024 从一个序列中选择m个序列不交叉,就最大值
- vue+cordova创建Hybird混合应用(一)----安装cordova环境
- CocosCreator H5 微信内置浏览器调起微信支付