GOLOS
RU
EN
UA
sergiy
в прошлом году

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-флаг так и остался нулём - выводим его на экран.

Всё, переход к следующему испытуемому.

Я намеренно не оптимизировал алгоритм поиска, в следующем посте узнаете почему)))

0
444.657 GOLOS
На Golos с October 2016
Комментарии (4)
Сортировать по:
Сначала старые