#include <stdio.h> int function() { int i; int temp=1; for(i=0;i<100;i++) temp=(temp*2)%100; return temp; } int main() { printf("%d\n",function()); return 0; } 仅供参考
#include <stdio.h> int function() { int i; int temp=1; for(i=0;i<100;i++) temp=(temp*2)%100; return temp; } int main() { printf("%d\n",function()); return 0; }
2^100=16^25=16^12*16^13 所以:2^100%100=(16^12%100 * 16^13%100)%100,int64可以直接计算。
[quote=引用 3 楼 zxh707wk 的回复:] #include <stdio.h> int function() { int i; int temp=1; for(i=0;i<100;i++) temp=(temp*2)%100; return temp; } int main() { printf("%d\n",function()); return 0; } 仅供参考
快速幂取模,可以在对数时间解决。很基本的算法。
69,374
社区成员
243,076
社区内容
加载中
试试用AI创作助手写篇文章吧