首页 > 代码库 > hdu 4704 Sum (费马小定理+快速幂)
hdu 4704 Sum (费马小定理+快速幂)
//(2^n-1)%mod //费马小定理:a^n ≡ a^(n%(m-1)) * a^(m-1)≡ a^(n%(m-1)) (mod m) # include <stdio.h> # include <algorithm> # include <string.h> # define mod 1000000007 using namespace std; __int64 pow(__int64 n) { __int64 p=1,q=2; while(n) { if(n%2) { p=p*q%mod; } n/=2; q=q*q%mod; } return p; } char str[1000100]; int main() { __int64 i,n,len; while(~scanf("%s",str)) { len=strlen(str); n=0; for(i=0;i<len;i++) { n=(n*10+str[i]-'0')%(mod-1); } printf("%I64d\n",pow(n-1)); } return 0; }
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。