同余.v11582乌龟
来源:互联网 发布:java和javascript 区别 编辑:程序博客网 时间:2024/05/02 05:06
斐波纳循环f[m]=0,1,1,2,3,5,8,13.。。。。。题意为找到a^b,然后f[a^b]取余n, a,b,n都是任意数,显而易见这一串数字取余某个数字一定会有循环出现
算出这一串数字取余2-1024的每个值用f纪录,当然因为肯定会有循环出现所以用g记录循环的开始点
有点复杂,需要好好想想
这是个uva可以过然而visual judge过不了的题,宝宝心累,找不到过不了的理由
#include <iostream>
using namespacestd;
#define N 1024
typedef unsignedlonglong ull;
int f[N][N*6],g[N];
int Mo_e(ull a,ull b,int m)
{
if(b==0)
return1;
int ans=Mo_e(a,b/2,m);
ans=ans*ans%m;
if(b&1)
ans=ans*a%m;
return ans;
}
int main()
{
for(int i=2;i<N;i++)
{
f[i][0]=0;
f[i][1]=1;
for(int j=2;;j++)
{
f[i][j]=(f[i][j-2]+f[i][j-1])%i;
if(f[i][j-1]==0&&f[i][j]==1)
{
g[i]=j-1;
break;
}
}
}
int t,n;
ull a,b;
cin>>t;
while(t--)
{
cin>>a>>b>>n;
if(a==0||n==1)
cout<<0<<endl;
else
{
int p=Mo_e(a%g[n],b,g[n]);
//cout<<p<<endl;
cout<<f[n][p]<<endl;
}
}
return0;
}
- 同余.v11582乌龟
- 同余
- 同余
- 同余
- 同余
- 同余
- 同余(数论基础)
- 线性同余方程
- 线性同余算法
- 同余运算性质
- 同余幂
- 同余幂
- 线性同余 - 随机数
- 同余定理
- 解同余方程
- 同余定理
- 1889_Ones(同余)
- 线性同余方程
- springboot的使用体验和思考
- Starting From 0 Learning Python(The Fourth Day)
- Linux内核体系结构--1
- Android Gems — Java源码分析之HashMap和SparseArray
- 字符串组做过滤条件的使用方法
- 同余.v11582乌龟
- android 6.0 USB添加调制解调模式
- String类的split()方法与StringTokenizer方法
- Android Studio jcenter 自动集成极光推送
- 【BFS】一道经典的迷宫模板问题
- 文章标题
- 检查更新和下载的自定义弹出框
- WebScoket 规范
- 设置document.domain实现js跨域注意点