c语言学习:[1]判断一个数是否为素数

2026-02-22 08:47:28

用c语言判断一个数是否为素数的几种方法。所用编程环境Microsoft Visual C++。一个大于1的自然数,除了1和它本身外,不能被其他自然数整除(除0以外)的数称之为素数,也叫质数。

工具/原料

Microsoft Visual C++ 6.0

While语句

    #include<stdio.h>

    void main()

    {

    int i,n;

    printf("请输入n:");

    scanf("%d",&n);

    i=2;

    while(i<n)

    {

    if(n%i==0)

    break;

    i++;

    }

    if(i==n)

    printf("%d is prime\n",n);

    else

    printf("%d is no prime\n",n);

    }

    输出结果如下图:比较容易理解的思路

      #include<stdio.h>

      void main() 

      {

      int n,r,i; 

      scanf("%d",&n); 

      for(i=2;i<=n-1;i++) 

      {

      r=n%i; 

      if(r==0) break;

      }

      if(i>=n) 

      printf("yes\n"); 

      else 

      printf("no\n"); 

      }

      输出结果如下图:初等数论法的思路

        初等数论,一个整数不能整除他的平方数之内的整数就是素数。

        编程代码

        #include <stdio.h>

        #include <math.h>

        #define YES 1

        #define NO 0

        int IsPrime(int N)

        {

        int i, j;  

        if (N == 2)

                  return YES;

              else

                  if (N < 2 || N % 2 ==0)

                      return NO;

              else

              {

                  j = (int)sqrt(N + 1);

                  for (i = 3; i <= j; i = i + 2)

                      if (N % i == 0)

                          return NO;

              }

              return YES;

        }

        void main()

        {

              int N;

              printf("Please input a number: ");

              scanf("%d", &N);

              if (IsPrime(N) == YES)

                  printf("%d is a prime number\n", N);

              else

                  printf("%d is not a prime number\n", N);

        }

        输出结果如下图:(共篇)下一篇:

声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
猜你喜欢