我正在编写一个程序来判断给定的整数是否为素数.我的程序适用于整数,但当我将其更改为Long时,它会返回每个自然数作为非素数.
#include<stdio.h>
int check_prime(int);
main()
{
int n, result;
printf("Enter an integer to check whether it is prime or not.\n");
scanf("%d",&n);
result = check_prime(n);
if ( result == 1 )
printf("%d is prime.\n", n);
else
printf("%d is not prime.\n", n);
return 0;
}
int check_prime(int k)
{
if(k==1){
return 0;
}
int c;
for ( c = 2 ; c <= k - 1 ; c++ )
{
if ( k%c == 0 )
return 0;
}
return 1;
}