Summer Training day4 欧拉降幂
来源:互联网 发布:php走势图源码 编辑:程序博客网 时间:2024/06/06 03:39
2
2Hint1. For N = 2, S(1) = S(2) = 1.2. The input file consists of multiple test cases.
2
2
这道题的公式非常简单,就是求2^(N-1) %1e9+7
由于N实在是太大了,不能直接求快速幂,考虑到2^x % MOD是有循环节的,因此使用欧拉降幂公式a^x ≡a^(x modϕ(p)+ϕ(p)) (mod p)
#include <iostream>#include <cstdio>#include <cstring>using namespace std;typedef long long int64; int64 MOD = 1e9 + 6;char str[200007];int64 mod_pow(int64 x,int64 n){int64 ans = 1;while(n){if(n & 1){ans = (ans * x) % (MOD + 1);}x = (x * x) % (MOD + 1);n >>= 1;}return ans % (MOD + 1);}int main(){while(cin>>str) {int len = strlen(str);int64 mod = 0;for(int i = 0; i < len;i++){mod *= 10;mod += str[i] - '0';mod %= MOD;}mod = (mod - 1)%MOD;printf("%lld\n",mod_pow(2,mod + MOD) );}return 0;}
阅读全文
0 0
- Summer Training day4 欧拉降幂
- Summer Training day4 Sumdiv
- Summer Training day4 Code hdu5212 莫比乌斯反演
- Summer Training day4 cf439E 莫比乌斯反演
- Summer Training day4上帝与集合的正确用法 欧拉函数+降幂公式
- Summer Training day4 Mod Tree 大步小步法求离散对数模板
- Tri_integral Summer Training 6
- BUPT-SUMMER-TRAINING-搜索
- 2017 Summer Training Day1
- After Summer Training.
- UESTC Summer Team Training #2
- BUPT Summer training 1 总结
- Tri_integral Summer Training 2 总结
- Tri_integral Summer Training 3 总结
- Tri_integral Summer Training 5 总结
- Tri_integral Summer Training 7 总结
- Tri_integral Summer Training 9 总结
- Tri_integral Summer Training 8 总结
- 取石子(一) (南阳理工oj 题目23)
- Python多线程(1)——介绍
- Linux Shell下条件语句
- Caused by: java.lang.NoClassDefFoundError: com/mchange/v2/ser/Indirector
- js爬楼效果实现
- Summer Training day4 欧拉降幂
- UVA1252TwentyQuestions
- 图的基本知识点
- C#之入门总结_Math_DateTime_Random_Path_12
- 磁盘配额
- spring data jpa 分页查询
- Python多线程(3)——Queue模块
- 2017 百度之星资格赛1002 度度熊的王国战略【图+贪心】
- Google算法题:目标和