Эта программа должна отображать простые числа в диапазоне 1-3000, но она отображает только простые числа от 743-3000. Как заставить его печатать все простые числа в диапазоне?Программа C не может отображать 3000 номеров
Вот программа:
#include <stdio.h>
#include <math.h>
#include <stdbool.h>
main()
{
unsigned long long num, divisible_num;
printf("The prime numbers in the range of 1 - 3000 are: \n");
for(num=1;num<=3000;num++)
{
for(divisible_num=2;divisible_num<=sqrt(num);divisible_num++)
{
if(num%divisible_num==0)
break;
}
if(num%divisible_num!=0)
{
printf("%lu\n", num);
}
}
getchar();
}
помнить одну вещь, как примечание стороны: - всегда дает пространство после ';', '' и 'а = b' должен быть' а = b' –
Вы пробовали прокрутка в вашем терминале? Я запустил этот код и, конечно же, получил значения меньше 743 - вплоть до 1. Кроме того, этот код неправильно маркирует 2 как не простой, из-за того, как вы настроили свой цикл. – qaphla
Вставить '--divisible_num' после' for() 'loop, перед внешним' if() ' –