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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Внимание! Есть замечания модератора по теме: // исправил ошибку в названии темы!
Старый 12.05.2013, 13:06   #1
diana1995
Новичок
Джуниор
 
Регистрация: 12.05.2013
Сообщений: 3
По умолчанию вводится число и программа должна сказать ПРОСТОЕ оно или нет (Pascal)

вводится число и программа должна сказать простое оно или нет
(простите за ошибку)
нашла в интернете
Код:
var
n,i,q: integer;
f: boolean;
begin
q:=0;
write('Number: ');
readln(n);
while n > 2 do begin
f:=true;
for i:=2 to n div 2 do
if n mod i = 0 then
f:=false;
if f then
q:=q+1;
write('Number: ');
readln(n);
end;
writeln(q,' prime numbers');
readln;
end.

не очень понимаю что там делает программа.. и вообще это то что мне надо?
простое число- которое делится только само на себя и на единицу
например: 5, 2, 3, 11, 17

Последний раз редактировалось Stilet; 12.05.2013 в 14:03.
diana1995 вне форума Ответить с цитированием
Старый 12.05.2013, 13:10   #2
Hemul
Форумчанин
 
Регистрация: 03.10.2010
Сообщений: 321
По умолчанию

Код:
var
    n:integer;
begin
   readln(n);
   if frac(n) = 0 then 
      writeln('Целое')
   else
      writeln('Дробное')

end.

Последний раз редактировалось Hemul; 12.05.2013 в 13:47.
Hemul вне форума Ответить с цитированием
Старый 12.05.2013, 13:17   #3
diana1995
Новичок
Джуниор
 
Регистрация: 12.05.2013
Сообщений: 3
По умолчанию вы не правильно поняли)

простое число - которое делится только на единицу и само на себя
такие как 2,3, 5, 7 ,11, 17

Последний раз редактировалось diana1995; 12.05.2013 в 13:55.
diana1995 вне форума Ответить с цитированием
Старый 12.05.2013, 13:30   #4
Poma][a
Новичок
Джуниор
 
Регистрация: 11.10.2011
Сообщений: 3,882
По умолчанию

Диана, не мешало бы определиться Вам нужна программа, отвечающая на вопрос "Натуральное ли число?" или "Простое ли число?".

Любая из программ не очень сложна (очень мягко сказано), поэтому искать их в паутине - не есть хорошо, особенно если Вы хотите в дальнейшем писать программы сложнее HelloWord'a
Poma][a вне форума Ответить с цитированием
Старый 12.05.2013, 13:32   #5
Abstraction
Старожил
 
Аватар для Abstraction
 
Регистрация: 25.10.2011
Сообщений: 3,178
По умолчанию

Цитата:
вводится число и программа должна сказать натуральное оно или нет
Цитата:
вы не правильно поняли)
простое число - которое делится только на единицу и само на себя
такие как 2,3, 5, 7 ,11, 12, 17
Это точно мы неправильно поняли?

В чём проблема? Вы можете составить цикл, в котором k пробегало бы значения от 2 до (n-1)? Вы можете проверить, делится ли n на k? Если нет, то что говорит по этому поводу используемый Вами учебник?
Abstraction вне форума Ответить с цитированием
Старый 12.05.2013, 13:38   #6
Hemul
Форумчанин
 
Регистрация: 03.10.2010
Сообщений: 321
По умолчанию

Цитата:
Сообщение от Abstraction Посмотреть сообщение
до (n-1)?
до корня из n, если быть точнее
Hemul вне форума Ответить с цитированием
Старый 12.05.2013, 13:53   #7
diana1995
Новичок
Джуниор
 
Регистрация: 12.05.2013
Сообщений: 3
По умолчанию

да, простите это моя ошибка... вводится число и программа должна сказать ПРОСТОЕ они или нет.
diana1995 вне форума Ответить с цитированием
Старый 12.05.2013, 14:00   #8
Poma][a
Новичок
Джуниор
 
Регистрация: 11.10.2011
Сообщений: 3,882
По умолчанию

Abstraction, уже написал Вам словесное описание Вашего алгоритма. Я подскажу, что лучше будет использовать цикл while. Дальше дело за Вами, мы лишь можем проверить и подсказать что и как..
Кстати, замечание Hemul'a верно. И лучше проверять до корня из N
Poma][a вне форума Ответить с цитированием
Старый 13.05.2013, 10:45   #9
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

{название темы исправил}

Диана, смотрите внизу "Похожие темы".
Задача проверки числа на простоту решалась на форуме огромное число раз!

вот, например, функция проверки числа на простоту:
Код:
function isPrime(X: LongInt): boolean;
var i: integer;
Begin
     isPrime:=false;
     if x<2 then Exit;
     if not odd(x) and (x<>2) { проверяем на чётность  }
          then exit;
     i:=3;
     while i <= sqrt(x) do { проверяем только нечётные }
     begin
          if x mod i = 0 then Exit;
          inc(i,2);
     end;
     isPrime:=true;
End;
Serge_Bliznykov вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Ввести четырехзначное число. Определить симметрично ли оно. (Pascal) Roman1295 Паскаль, Turbo Pascal, PascalABC.NET 20 23.11.2012 19:29
определить совершенное число или нет Регина56 Помощь студентам 3 25.05.2011 09:09
Дано число a. Как определить, четное оно, или нечетное? pahanzona Общие вопросы Delphi 5 09.03.2011 12:49
Простое или нет Superlotles Общие вопросы C/C++ 7 13.03.2010 20:30
число простое или составное isus Помощь студентам 9 18.12.2009 00:35