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
}
}