#include <stdio.h>
#include <stdlib.h>
#include <conio.h>
#include <math.h>
int prime(int n);
int main()
{
int n;
printf("Type a number: ");
while((scanf("%d", &n)) != EOF)
{
if (prime(n))// if value is 0 so n is not a Prime number
printf("%d is a Prime number, the value of function return is %d\n",n, prime(n));
else
printf("%d is not a Prime number, the value of function return is %d\n",n, prime(n));
}
return 0;
}
int prime(int n)
{ // if value is 0 so n is not a Prime number
if (n < 2) return 0;
if (n == 2) return 1;
if (n%2 == 0) return 0;
int divisor = 1;
for (int i = 3; i <= n; i=i+2)
{
if (n%i == 0)
divisor++;
if (divisor > 2)
return 0;
}
return 1;
}
Code này mình vẫn chưa hiểu cho lắm. Nhất là ở chỗ:
if (prime(n))// if value is 0 so n is not a Prime number
printf("%d is a Prime number, the value of function return is %d\n",n, prime(n));
else
printf("%d is not a Prime number, the value of function return is %d\n",n, prime(n));
Và mấy cái return 0; return 1 nghĩa là gì. Tức là tại sao return 0 thì n không phải SNT, còn return 1 thì N là số NT