代码基本正确,但是IsPrime函数可以优化。

优化建议:

  1. 循环条件可以优化为i<=sqrt(n),减少不必要的循环次数。
  2. 只需要判断能否整除2到sqrt(n)之间的数即可,不需要循环到n。
  3. 可以将返回值改为bool类型,更直观。

改进后的IsPrime函数如下:

bool IsPrime(int n) { if(n <= 1) return false; //小于等于1的数都不是素数 for(int i=2; i<=sqrt(n); i++) //循环到sqrt(n)即可 if(n%i == 0) return false; //能够整除,不是素数 return true; //不能整除,是素数 }

验证歌德巴郝猜想任意一个大于等于4的偶数可写成两个素数之和; 任意一个大于等于7的奇数可写成三个素数之和。 1编写函数IsPrime判断整数n是否为素数; 2编写函数DreamEven对于一个大于等于4的偶数n 寻找两个素数a和b使得a+b=n并输出所有等式。 3编写函数DreamOdd对于一个大于等于7的奇数n 寻找三个素数a、b和c使得a+b+c=n并输出所有等式。 4编写函数main输入一个

原文地址: https://www.cveoy.top/t/topic/ecvC 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录