Помощь - Поиск - Пользователи - Календарь
Полная версия: Простые числа
Форум «Всё о Паскале» > Pascal, Object Pascal > Задачи
Santrex
Написать все простые числа в диапозоне [2..n].
Не используя массивы, функции и процедуры.
Надеюся что это реально.У меня есть рабочая версия кода, но препад сказал что такой гемор он не примет посмотрите как там полегче реал переделать.

Код
program zadanie_1;
{uses crt;
       var
         x,n:integer;
       begin
            clrscr;
            writeln ('Введите Количество символов: ');
            readln (n);
            writeln ('');
 if n < 5 then
 writeln ('3')
 else
 write('3','  ','5','  ');
       if n>2 then
                       for x:= 2 to n do
   begin
                            if x mod 2 <> 0 then
                            if x mod 3 <> 0 then
                            if x mod 5 <> 0 then
                            if x mod 7 <> 0 then
                            if x mod 9 <> 0 then
                              write (x,'   ');
                    end
                   else
               writeln ('Символов >2 нет!');

repeat
until keypressed;
end.


Если нет то жду ваших вариантов. Я смотрел похожие задачи на этом сайте.Они мне не помогли так как у моих преподов на данном этапе высокие требование к простате написания.
Altair
http://forum.pascal.net.ru/index.php?showtopic=1879

первый способ...
толкьо из процедуры сделать просто прогу....
ну и в цикл перебора запихнуть...

или использовать второй способ...

Цитата
высокие требование к простате написания.

бред, ну да ладно..
Гость_Santrex
Ну а всетаки напиши код проги лучше как полегче без этих процедур и функций.Если не сложно.
GoodWind
Цитата
Цитата
Цитата
высокие требование к простате написания.


бред, ну да ладно..

нет, Олег, некоторые преподы говорят "Мы такого еще не проходили" и не принимают. Сам сталкивался....
volvo
Santrex
Так пойдет?
Код
program zadanie_1;
uses crt;

var
 x, j, n:integer;
 b: boolean;
begin
 clrscr;
 readln(n);
 for x := 2 to n do
   begin
     b := true;
     for j := 2 to x div 2 do
     b := b and (x mod j <> 0);
       if b then write(x:5)
   end;
 readln
end.
GoodWind
volvo , applause !
вроде все правильно... а как коротко...
Гость_Santrex
Да как раз то что нужно.Спасибо за помощь.Тема закрыта lol.gif
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.