c语言 用筛选法求100之内的求素数C语言
c程序设计第四版谭浩强课后答案
求素数C语言又称质数所谓求素數C语言是指除了 1 和它本身以外,不能被任何整数整除的数例如17就是求素数C语言,因为它不能被 2~16 的任一整数整除
思路1):因此判断一个整數m是否是求素数C语言,只需把 m 被 2 ~ m-1 之间的每一个整数去除如果都不能被整除,那么 m 就是一个求素数C语言
思路2):另外判断方法还可以简化。m 不必被 2 ~ m-1 之间的每一个整数去除只需被 2 ~ 之间的每一个整数去除就可以了。如果 m 不能被 2 ~ 间任一整数整除m 必定是求素数C语言。例如判别 17 是昰否为求素数C语言只需使 17 被 2~4 之间的每一个整数去除,由于都不能整除可以判定 17 是求素数C语言。
原因:因为如果 m 能被 2 ~ m-1 之间任一整数整除其二个因子必定有一个小于或等于 ,另一个大于或等于 例如 16 能被
两种思路的代码请看解析。
// 求平方根注意sqrt()的参数为 double 类型,这里要强淛转换m的类型 // 如果完成所有循环那么m为求素数C语言 // 注意最后一次循环,会执行i++此时 i=k+1,所以有i>k
两段代码的输出结果相同
两个函数分别是判断是否为求素数C语言,和获取两个数之间求素数C语言的个数为了快速得出是否为求素数C语言,这里只判断小于该数的开方的数能否被除尽