c语言提问 判断一个数,是否是一个质数c语言的n次方。n不会超过8 输出Yes或者No

夜的黑 TA的每日心情 郁闷 3 天前签到忝数: 10 天 [LV.3]偶尔看看II 65 主题101 帖子982 积分管理员 积分 982 发消息 电梯直达 楼主 发表于 12 小时前 | 只看该作者 | 倒序浏览 | 阅读模式 素数又称质数c语言所谓素数是指除了1和它本身以外,...

素数又称质数c语言所谓素数是指除了1和它本身以外,不能被任何整数整除的数例如17就是素数,因为它不能被2~16的任一整数整除

思路1):因此判断一个整数m是否是素数,只需把m被 2 ~ m-1 之间的每一个整数去除如果都不能被整除,那么m就是一个素数

思路2):叧外判断方法还可以简化。m不必被 2 ~ m-1 之间的每一个整数去除只需被 2 ~

之间的每一个整数去除就可以了。如果m不能被 2 ~

间任一整数整除m必定是素数。例如判别17是是否为素数只需使17被2~4之间的每一个整数去除,由于都不能整除可以判定17是素数。

原因:因为如果m能被 2 ~ m-1 之间任一整数整除其二个因子必定有一个小于或等于

。例如16能被2,4,8整除16=2*8,2小于48大于4,16=4*44=√16,因此只需判定在2~4之间有无因子即可

两种思路的代码请看解析。

// 求平方根注意sqrt()的参数为 double 类型,这里要强制转换m的类型

// 如果完成所有循环那么m为素数

// 注意最后一次循环,会执行i++此时 i=k+1,所以囿i>k

两段代码的输出结果相同

输入一个整数:11是素数。

输入一个整数:9797是素数

输入一个整数:1010不是素数。

你知道吗首个C语言编译器是這样编写出来的

C语言缓冲区(缓存)详解

c语言写http下载程序

}

输入两个正整数k1k2

输出两行信息,第一行是[k1,k2]之间素数个数第二行输出所有素数。素数之间用空格分开


}

我要回帖

更多关于 质数c语言 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信