2025年3月31日 星期一 乙巳(蛇)年 正月初一 设为首页 加入收藏
rss
您当前的位置:首页 > 计算机 > 编程开发 > C语言

C语言求2~n中质数的个数

时间:10-08来源:作者:点击数:67

求 2~n(n≥2)中有多少个质数。该示例综合使用了C语言中的选择结构、循环结构、函数等知识点。

要统计 2~n 中质数的个数,首先要判断其中的每一个数是否是质数,而且判断质数的运算总共需要进行 n-1 次。

可以设计一个用于判断整数 x 是否为质数的函数 prime(x),并将该函数的返回值类型定义为 int 型,返回值为 1 时,表示 x 是质数,返回值为 0 时,表示 x 不是质数。

代码清单 2:求 2~n(n≥2)中有多少个质数

  • #include <stdio.h>
  • #include <stdlib.h>
  • int prime(int x) //判断x是否是质数的函数并打印质数
  • {
  • int j=2;
  • if(x==2) {
  • printf("%d ",x);
  • return 1;
  • }
  • while(x%j!=0 && j<=sqrt(x))
  • j++;
  • if(x%j==0) return 0;
  • else {
  • printf("%d ",x);
  • return 1;
  • }
  • }
  • int main( )
  • {
  • int i,n,ans=0;
  • printf("请输入一个大于2的正整数:");
  • scanf("%d",&n);
  • for(i=2;i<=n;i++)
  • if(prime(i)) ans++;
  • printf("\n2~%d之间有%d个质数。\n",n,ans);
  • system("pause");
  • return 0;
  • }

运行结果为:

请输入一个大于2的正整数:17
2 3 5 7 11 13 17
2~17之间有7个质数。

方便获取更多学习、工作、生活信息请关注本站微信公众号城东书院 微信服务号城东书院 微信订阅号
推荐内容
相关内容
栏目更新
栏目热门