我爱占星网 我爱占星网
首页
编程
java
php
前端
首页 编程 java php 前端

C语言判断完全数,求优化代码

我的程序能够判断完全数,但是当遇到很大的数的时候程序运行时间就会很长,求优化的程序

img

首先是有错误,第8行循环i不能从0开始,否则num%i就出问题了
优化如下:

int k = sqrt(num);
for(int i=1;i<=k;i++)
{
    if(num%i==0)
    {
        res += i;
        if(i*i != num)
            res += num/i;
    }
}

只需要num开根号次数,大大减小了

我来

近期文章

  • 这个程序哪里出了问题
  • 奇怪奇怪!希望能帮我解惑,
  • java进行接口implements,进行公交车的收取费用两元,为什么不加public ,会显示错误呀?为什么呀?为什么呢?为什么?为什么呀??
  • 关于C++ cout问题
  • matlab怎么导出三维模型啊?
  • 意外的T_STRING错误(PHP)
  • 安装虚拟机,版本是Vm11,跟设备不兼容怎么解决
  • 有两种可能用了if但只对一半
  • vim不是内部或外部命令 求解决
  • 初学者提问,如何将一个对象作为实参,调用另一个类对象的方法
  • oracle这怎么回事啊为什么会这样?
  • python递归函数中通过for循环构建树 for循环运作逻辑
  • FFT解包裹,条纹图有很多锯齿
  • 当我们在HTML模式下出局时,php是如何工作的?
  • promise取值问题
  • 传递了非浮点型参数,计算结果为零怎么回事?
  • 配置java的路径具体是啥意思啊
  • VMware注册邮编问题
  • space在判断相等时哪里出问题了
  • 请各位帮我看看这个for循环要怎么写!!

Copyright ©2022 我爱占星 All Rights Reserved.

浙ICP备2022030071号-1

部分图文来自网络,如有侵犯您的版权,请告诉我们删除

友情链接:代码精华