编写一个函数,判断一个数是否为素数,并通过调用该函数求出所有3位数的素数
2条回答 默认 最新
a5156520 2023-11-24 14:20关注可以使用循环遍历所有三位数,然后逐个判断是否为素数。
代码如下:
参考链接:【素数表】前20000个素数_超大素数表-CSDN博客 文章浏览阅读9.6k次,点赞11次,收藏12次。供大家直接使用2, 3, 5, 7, 11, 13, 17, 19, 23, 29,31, 37, 41, 43, 47, 53, 59, 61, 67, 71,73, 79, 83, 89, 97, 101, 103, 107, 109, 113,127, 131, 137, 139, 149, 151, 157, 163, 167, 173,179, 181, 191, 1..._超大素数表https://blog.csdn.net/quchen528/article/details/93310565
#include <stdio.h> int findPrime(int num){ // 判断参数num是否为素数的函数,返回1,表示参数num素数,返回0,说明参数num不是素数 if(num<2){ // 小于2的数不是素数,返回0,表示当前num不是素数 return 0; } for(int i=2;i*i<=num;i++){ // 遍历区间2到sqrt(num)之间的每一个数 if(num%i==0){ // 如果区间的任意一个数可以整除num,则num不是素数,返回0 return 0; } } // 如果区间2到sqrt(num)之间的每一个数都不能整除num,则num是素数,返回1 return 1; } int main(void){ int n=0; for(int i=100;i<=999;i++){ // 遍历所有三位数 if(findPrime(i)==1){ // 如果当前三位数是素数,则打印当前三位数 // https://blog.csdn.net/quchen528/article/details/93310565 printf("%d ",i); n++; // 素数个数+1 if(n%10==0){ // 每个10个素数,打印一个换行 printf("\n"); } } } }
评论 打赏 举报 编辑记录解决 1无用