Oj显示时间超限,怎么样才能优化,减少时间呢?求指点,谢谢了。
3条回答 默认 最新
- qzjhjxj 2022-08-28 11:34关注
这是一段计算到第8个完全数的代码,最快的寻找完美数算法,利用欧拉公式和卢卡斯-莱默检验法,供参考:
//利用欧拉公式和卢卡斯-莱默检验法 #include <stdio.h> #include <string.h> int isPrime(int N) { if(N < 4) return N > 1; if((N & 1) == 0) return 0; for (int i = 3;i * i <= N;i += 2) if ((N % i) == 0) return 0; return 1; } int primality(int N, __int64 M) { if(N == 2) return 1; __int64 s = 4; for(int i = 0;i < N - 2;i++) s = (s * s - 2) % M; return s == 0; } int main() { char s[21] = {0}; int i, cnt = 0; __int64 M, t; for (i = 2;i < 32; i++){//2 - 2^31-1 M = (1 << i) - 1; t = M << (i - 1); if(isPrime(i) && primality(i, M)){ sprintf(s, "%I64d", t); cnt++; printf("第%d个%d位数:%s\n",cnt,strlen(s),s); } } return 0; }
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报
悬赏问题
- ¥15 unity第一人称射击小游戏,有demo,在原脚本的基础上进行修改以达到要求
- ¥15 买了个传感器,根据商家发的代码和步骤使用但是代码报错了不会改,有没有人可以看看
- ¥15 关于#Java#的问题,如何解决?
- ¥15 加热介质是液体,换热器壳侧导热系数和总的导热系数怎么算
- ¥100 嵌入式系统基于PIC16F882和热敏电阻的数字温度计
- ¥15 cmd cl 0x000007b
- ¥20 BAPI_PR_CHANGE how to add account assignment information for service line
- ¥500 火焰左右视图、视差(基于双目相机)
- ¥100 set_link_state
- ¥15 虚幻5 UE美术毛发渲染