您的位置:首页 > 编程语言 > C语言/C++

C语言给定一个数N列出所有不大于N的素数

2018-01-25 19:10 501 查看
#include <stdio.h>

#include <stdlib.h>
#define COUNTS 4294967295

/*******************************************************

Author:Stat&陈

*******************************************************/

int get_prime_number(unsigned long);

int main(void)

{

   unsigned long number, i, count;

   printf("Please enter a number:\n");

   scanf("%lu", &number);

   if(1 > number && COUNTS < number){

      fprintf(stderr, "Out of range!\n");

      exit(1);

   }

   for(i = 2, count = 0; i < number; i++)

      count += get_prime_number(i);

   printf("\nprime number: %lu\n", count);

   return 0;

}

int get_prime_number(unsigned long a)

{

   unsigned long i;

   int count = 0;

   for(i = 1; i <= a; i++)

      if(a % i == 0){

         count++;

         if(2 < count)

            break;

      }

   if(3 > count){

      printf("%lu ", a);

      return 1;

   }

   return 0;

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐