Program działa dobrze, ale nie jeśli podamy liczbę graniczną, np.3 które jest liczbą pierwszą i podzielną ale się nie wypisze boi <= number / 2
nie spełni warunku pętli
#include <stdio.h>
int divisor(long number)
{
int i, j;
if (number < 2)
return 0;
for (i = 2; i <= number / 2 ; ++i) {
if (number % i == 0){
for (j = 2; j * j <= i; ++j)
if (i % j == 0)
break;
if(j * j > i) printf("%d\t", i);
}
}
}
int main(void)
{
divisor(3);
return 0;