21xrx.com
2024-12-22 19:57:55 Sunday
登录
文章检索 我的文章 写文章
求素数的个数——一道经典的C语言练手题
2023-06-15 16:46:29 深夜i     --     --
素数 C语言 循环 枚举 判断

素数一直是计算机编程中常见的一个概念,那么如何用C语言程序快速求出一定范围内的素数个数呢?本文将介绍一种经典的思路及其实现过程。

首先,我们需要知道什么是素数。素数又称质数,是指只能被1和自身整除的正整数,比如2、3、5、7、11、13等等。因此,如果我们要判断一个数x是否为素数,则只需要用2~x-1中的所有数去除x,如果都不能整除,则x为素数。

有了这个判断素数的方法,我们便可以在一定范围内枚举求出所有的素数。具体来说,我们可以用两层循环,第一层枚举所有可能的素数x,第二层则用2~x-1中的数去尝试除x,如果成功求出所有素数后,再统计个数即可。

下面是实现代码:


#include

int main(void){

  int n,i,j,cnt=0;

  printf("请输入一个自然数n:");

  scanf("%d",&n);

  for(i=2;i<=n;i++){

    int flag=1;

    for(j=2;j

      if(i%j==0)

        flag=0;

        break;

      

    }

    if(flag==1){

      cnt++;

    }

  }

  printf("%d以内的素数个数为:%d",n,cnt);

  return 0;

}

代码中flag用于标记是否为素数,初值为1,每次找到可以整除i的j时,flag变成0,接着跳出循环。之后,再根据标记来判断i是否为素数。

  
  

评论区

{{item['qq_nickname']}}
()
回复
回复