鱼C论坛

 找回密码
 立即注册
查看: 4335|回复: 6

求助下各位大佬

[复制链接]
发表于 2021-11-2 20:21:51 | 显示全部楼层
本帖最后由 jackz007 于 2021-11-2 20:26 编辑
  1. isPrime(int num)
  2. {
  3.     int mid ;
  4.     mid = num / 2 ;
  5.     int i         ;
  6.     for(i = 2 ; i < num / 2 ; i ++) {
  7.             if(num % i == 0){
  8.                     return 0 ;  // 只要有一个 i 可以整除 num,num 就不是素数,这个判断是正确的。
  9.             } else {
  10.                     return 1 ;  // 只要有一个 i 不能整除 num,num 就是素数,这个判断是错误的。9 之所以被判定为素数,正是因为它不能被 2 整除!
  11.             }
  12.      }
  13. }
复制代码

      只有在确定 2 ~ num / 2 范围内所有的 i 都不能整除 num 才能确定 num 是素数。
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-11-2 20:32:53 | 显示全部楼层
本帖最后由 jackz007 于 2021-11-2 20:36 编辑

  1. int isPrime(int num)
  2. {
  3.         int i , r = 0                 ;
  4.         if(num > 1) {
  5.                 for(r = 1 , i = 2 ; i * i <= num ; i ++) { // 循环前,r = 1,先假定 num 是素数
  6.                         if(num % i == 0) {
  7.                                 r = 0 ;                    // 否定 r = 1 的假定
  8.                                 break ;
  9.                         }
  10.                 }
  11.         }
  12.         return r                      ;
  13. }
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2026-4-1 19:05

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表