27 FreeBASIC - Ищем простые числа
Если кто не помнит простые числа - это числа которые не имеют делителей кроме единицы и самих себя.
Считают что простой способ нахождения простых чисел не больших данного числа придумал Эратосфен(II в до н.э.)
Выписываем числа в таблицу.
Берем первое простое число - 2 и вычеркиваем все числа кратные 2, потом кратные 3, 5,7 и т. д.
(картинка с википедии)
Если реализовывать это на компьютере прийдётся хранить числа и потом их вычёрквать. Здесь поступают проще - компьютер быстрый - пусть считает.
Берут число и ищут все его делители, проверяя сам факт делится/не делится.
Если делителей не нашлось - число простое.
'''
dim as integer f
dim as longint i, k
for k=2 to 1000
f=0
for i=2 to k-1
if k mod i = 0 then f=1
next i
if f=0 then print k;
next k
sleep
'''
Найдём например простые числа до 1000
открываем цикл от 2(самое маленькое, первое простое число до 1000)
f-переменная флаг, она останется равной нулю, если так и не было найдено делителя - значит число простое.
Если f-флаг так и остался нулём - выводим его на экран.
Всё, переход к следующему испытуемому.
Я намеренно не оптимизировал алгоритм поиска, в следующем посте узнаете почему)))