首页 > 代码库 > HDU 4704
HDU 4704
http://acm.hdu.edu.cn/showproblem.php?pid=4704
求(2^n)%mod的方法
#include <iostream>#include <cstdio>#include <cstring>#include <set>#include <vector>#include <queue>using namespace std ;//(2^n)%mod=(2^(n%(mod-1)))%modconst int mod=1000000007 ;__int64 POW(int b){ __int64 res=1,a=2 ; while(b) { if(b&1)res=(res*a)%mod ; a=(a*a)%mod ; b>>=1 ; } return res ;}char s[100005] ;int main(){ while(~scanf("%s",s)) { int len=strlen(s) ; __int64 n=0 ; for(int i=0 ;i<len ;i++) n=(n*10+s[i]-‘0‘)%(mod-1) ; printf("%I64d\n",POW(n-1)) ; } return 0 ;}
HDU 4704
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。