
- Форум
- По малко от всичко
- Информационни технологии
- Visual Basic
Ето малко идеи и от мен:
Първо можеш да запишеш извън цикълът "2" в текстовото поле. То очевидно е просто число и ще го запишем извън алгоритъмът за намиране на простите между 1 и 5000.
По този начин цикълът, който ще обхожда числата от 2 до 5000, можеш да стане от 3 до 5000 step 2. С други думи ще обхожда всички нечетни числа от 3 до 5000 (защото четните не са прости). Цикълът проверява с вътрешен цикъл дали числото е просто и го записва в текстовото поле, ако то е такова (ако flag=true).
Вътрешният цикъл за проверка на числата може да се реализира с един for. Да кажем, че проверяваш дали числото "р" е просто. Тогава цикълът може да е за i = 1 to sqrt(p) (или по-точно до закръгленото към по-малкото цяло число sqrt(p) ). На всяка стъпка проверяваш дали p mod i = 0 (ако това е вярно, то flag=false).
Псевдокод:
TekstovoPole.Zapisvane(2);
for j = 3 to 4999 step 2
begin na purvi for
for i = 1 to zakrugleno(sqrt(j))
begin na vtori for
if (j mod i = 0)
flag = false;
end na vtori for
if (flag = true)
TekstovoPole.Zapisvane(j)
flag=true;
end na purvi for
Нещо такова би трябвало да е.
Има 10 вида хора. Тези, които могат да четат двоичен код и тези, които не могат.