hdu4704 循环节+快速幂
来源:互联网 发布:淘宝开店用手机可以吗 编辑:程序博客网 时间:2024/05/20 19:31
求循环节的方法:
void getj(){ ll a1=2,a2=4; for(ll i=2;;i++) { a1=(2*a1)%Mod; a2=(2*a2)%Mod; if(a1==2&&a2==4) { cout<<i-1<<endl; break; } }}代码:
#include<iostream>#include<cstdio>#include<vector>#include<string>#include<queue>#include<cstring>#define maxn 10005#define INF 0xfffffff#define mem(a,b) memset(a,b,sizeof(a))#define FOR(i,s,t) for(int i=s;i<=t;i++)#define ull unsigned long long#define ll __int64#define Mod 1000000007#define mj 500000003using namespace std;int c[maxn];ll POW(ll x,ll n,ll mod){ ll ret=1; while(n) { if(n&1) { ret=(ret*x)%mod; } n/=2; x=(x*x)%mod; } return ret;}ll fun(char *s){ ll ret=0; ll l=strlen(s); for(int i=0;i<l;i++) { ret=(ret+(s[i]-'0')*POW(10,l-i-1,mj))%mj; } return ret;}void getj(){ ll a1=2,a2=4; for(ll i=2;;i++) { a1=(2*a1)%Mod; a2=(2*a2)%Mod; if(a1==2&&a2==4) { cout<<i-1<<endl; break; } }}int main(){ ll n; while(scanf("%s",s)!=EOF) { n=fun(s); printf("%I64d\n",POW(2,n-1+mj,Mod)); } return 0;}
- hdu4704 循环节+快速幂
- hdu4704 费马小定理+快速幂
- hdu4704之费马小定理+整数快速幂
- 20160322 HDU4704 Sum(费马小定理+快速幂)
- hdu4291(循环节+快速幂)
- hdu 4291 矩阵快速幂+循环节
- HDU 4291 (矩阵快速幂+循环节)
- hdu4291 暴力循环节+矩阵快速幂
- hdu 4291(矩阵快速幂 + 循环节)
- [矩阵快速幂+循环节]hdu4291
- hdu 5690 矩阵快速幂/循环节
- hdu 4291(矩阵快速幂+循环节)
- All X(快速幂 + 循环节)
- uva 11582 快速幂 Fibonacci循环节
- 【矩阵快速幂 && 循环节】HDU
- HDU4704 Sum
- hdu 4291 矩阵的快速幂(寻找循环节)
- HDU2837 Calculation 指数循环节 欧拉函数+快速幂
- POJ 1279 Art Gallery
- 结合使用浅谈在Android中使用AIDL实现IPC
- 基于双边滤波的人脸美化
- ajax如何经过后台返回json数组以及在在js中得到json对象
- Ruby中的Rake任务详述
- hdu4704 循环节+快速幂
- 内存管理
- 每天总结
- rpm打包spec文件
- Flex自定义事件
- Fibonacci 数列
- 各种排序算法
- hdu 1257 最少拦截系统
- longson平台显卡驱动