您的位置:首页 > 其它

快速幂 && 快速幂 取模

2015-08-18 17:49 176 查看
快速幂

代码:(求 a 的 b 次方 )

#include<cstdio>

int POW_Quickly(int a,int b)  // 快速幂 模板
{
int ans=1;
while(b>0)
{
if(b&1) // 奇数
ans=ans*a;
b>>=1; // 除 2
a=a*a;
}
return ans;
}

int main()
{
int a,b,s;
while(scanf("%d%d",&a,&b)!=EOF)
{
s=POW_Quickly(a,b); //  a 的 b 次方
printf("%d\n",s);
}
return 0;
}


快速幂 取模

代码:(求 a 的 b 次方 对 c 取模 )

#include<cstdio>

int POW_Quickly(int a,int b,int c)  // 快速幂 模板
{
int ans=1;
a%=c;
while(b>0)
{
if(b&1) // 奇数
ans=(ans*a)%c;
b>>=1; // 除 2
a=(a*a)%c;
}
return ans;
}

int main()
{
int a,b,c,s;
while(scanf("%d%d%d",&a,&b,&c)!=EOF)
{
s=POW_Quickly(a,b,c); //  a 的 b 次方  对 c 取模
printf("%d\n",s);
}
return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: