首页 > 代码库 > hdu1395 2^x mod n = 1
hdu1395 2^x mod n = 1
1 //Accepted 228 KB 31 ms 2 #include <cstdio> 3 #include <cstring> 4 __int64 n; 5 void slove() 6 { 7 int ans; 8 __int64 m; 9 if (n%2==0 || n==1) 10 { 11 printf("2^? mod %I64d = 1\n",n); 12 return ; 13 } 14 m=1; 15 ans=0; 16 int flag=1; 17 while (flag) 18 { 19 ans++; 20 m=2*m%n; 21 if (m==1) flag=0; 22 } 23 printf("2^%d mod %I64d = 1\n",ans,n); 24 } 25 int main() 26 { 27 while (scanf("%I64d",&n)!=EOF) 28 { 29 slove(); 30 } 31 return 0; 32 }
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。