Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 19.09.2009, 18:26   #1
nec117
Форумчанин
 
Регистрация: 01.10.2008
Сообщений: 266
По умолчанию Помогите с выводом простых чисел на Pascal

Здравствуйте! Помогите, пожалуйста с программой. Нужно чтобы она выводила все простые числа, которые меньше а. Вот код программы:
Код:
Var
b:real;
a,c, i: integer;
Begin
c:=3;
Write('Введите число: ');
Read(a);
 for i:=1 to a-1 do
 begin
  b:=Exp(i*ln(c))-c;

  if b mod i = 0 then

   Writeln(' ', b:5:0);
      end;
   end.
Но компилятор жалуется, что mod не может работать с real. Что делать? Заранее спасибо!)
nec117 вне форума Ответить с цитированием
Старый 19.09.2009, 18:34   #2
mMAg
Форумчанин
 
Аватар для mMAg
 
Регистрация: 11.08.2009
Сообщений: 433
По умолчанию

Это зависит от того, что вы хотели сделать этой строчкой. Вы вообще представляете себе случай, когда b mod i равно 0, если b не целое, а i целое? Тут не в компилляторе проблема, а в неправильном проектировании алгоритма.
mMAg вне форума Ответить с цитированием
Старый 19.09.2009, 18:49   #3
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

а зачем вообще реал то???
если простые числа это полюбому целые.
вот кусок кода:
Код:
var i,j,a:word;
f:boolean;
begin
 f:=false;
 readln(a);//считываем a
 for i:=1 to a do 
  begin
  f:=false;//сначало считаем что число простое
   if i<=3 then writeln(i)//если меньше иль равно трем то сразу выводим
           else for j:=2 to (a div i) do if (i mod j)=0 then f:=true;//иначе перебираем все числа от 2(на 1-цу делится все) до половины i, если есть делитель то значит сложное
  if f=false then writeln(i);//ну и выводим если простое
  end;
end;
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Нахождение простых чисел. Lunex.08 Общие вопросы C/C++ 7 10.04.2009 17:01
Вывод простых чисел. MAKEDON Помощь студентам 1 10.03.2009 16:55
поиск простых чисел методом решета.программа на С или С++ из_семи Помощь студентам 2 25.02.2009 20:56
Помогите сделать программу c выводом строки задом наперед(Pascal) Batman10000 Помощь студентам 2 14.12.2008 17:54
Pascal, момент с выводом массива. SZero Помощь студентам 2 20.09.2008 15:38