加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

A^B mod (大数运算)

发布时间:2020-12-14 03:45:43 所属栏目:大数据 来源:网络整理
导读:#includeiostream #include cstdio #include cstring using namespace std; const int MAX= 100005 ; const int mod= 1000000007 ; char s[MAX]; long long pow( long long a, long long b) { long long base =a,r= 1 ; while (b!= 0 ) { if (b 1 ) r=(r* ba
#include<iostream> #include<cstdio> #include<cstring>
using namespace std; const int MAX=100005; const int mod=1000000007; char s[MAX]; long long pow(long long a,long long b) { long long base=a,r=1; while(b!=0) { if(b&1) r=(r*base)%mod; base=(base*base)%mod; b>>=1; } return r%mod; } int main() { while(scanf("%s",s)!=EOF) { int len=strlen(s); long long num=0; for(int i=0;i<len;i++)//大数取模
            num=(num*10+(int)(s[i]-0))%(mod-1); if(num==0)//说明num=mod-1
 { cout<<pow(2,mod-2)<<endl; } else { num--; cout<<pow(2,num)<<endl; } } return 0; } HDU4704

于任意自然数,当要求a^p%m时,就可以利用费马小定理化简,只需求(a^(p%(m-1)))%m;(p是素数)

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读