C语言中prime的作用

Python018

C语言中prime的作用,第1张

1、一般而言,prime的作用就是判断一个数是否为素数(也称“质数”)。各种函数是指自己定义的函数还是库函数?若是库函数,这就需要自己去看相关资料掌握。若是自己定义的函数,那作用自己应该清楚不过了。

2、例如:

#include <stdio.h>

int IsPrime(int n)

{

    if (n <= 1) return 0

    if (n % 2 == 0) return n == 2

    for (int i = 3  i += 2)

    {

        if (i > n/i) break  // 等价于 i*i > n, 不用开方

        if (n % i == 0) return 0

    }

    return 1

}

int main()

{

    for (int n = 100 n <= 300 n++)

        if (IsPrime(n))

            printf("%4d", n)

    return 0

}

输入12, number=12

执行prime(number)

prime函数中,对2到num/2的数值进行判断,如果存在number%n==0

即n为number的因数,则赋值flag=0,并退出循环。

所以 这个是一个判断素数的函数。 如果参数number为素数,则返回1,否则返回0

于是 prime(12)=0

输出 12 is not prime number.

当输入17时,同样调用prime(17)

17为素数,返回1

输出 17 is prime number.

#include <stdio.h>

#include <math.h>

int prime(int x)

{

  int i

  for(i=2i<=(int)sqrt(x)i++)

  {

    if(x%i == 0)

    {

      break 

    }

  }

  if(i>(int)sqrt(x))

  {

   return 0

  }

  else

  {

   return 1

  }

}

int main(int argc,char *argv[])

{

  int m

  while(1)

  {

    printf("m=")

    scanf("%d",&m)

    if(m<3)

    {

      printf("The End.\n")

      continue 

    }

    if(prime(m) == 0)

      printf("%d is prime number.\n",m)

    else

      printf("%d is not prime number.\n",m)

    return 0

  }

}