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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 08.12.2013, 12:11   #1
Flower2
Пользователь
 
Регистрация: 27.10.2013
Сообщений: 22
По умолчанию Простые числа, паскаль

Написать программу для вывода всех простых трехзначных чисел на экран. Можно с пояснением пожалуйста, пыталась сделать ничего не получается
Flower2 вне форума Ответить с цитированием
Старый 08.12.2013, 12:28   #2
Arigato
Высокая репутация
СуперМодератор
 
Аватар для Arigato
 
Регистрация: 27.07.2008
Сообщений: 15,551
По умолчанию

В цикле каждое 3-х значное на простату проверяйте:
Код:
for i := 100 to 999 do begin
  prostatit := true;
  for j := 2 to i div 2 do begin
    if i mod j = 0 then begin
      prostatit := false;
      break;
    end;
  end;
  if prostatit then 
    WriteLn(i);
end;
Arigato вне форума Ответить с цитированием
Старый 08.12.2013, 14:34   #3
Flower2
Пользователь
 
Регистрация: 27.10.2013
Сообщений: 22
По умолчанию

Цитата:
Сообщение от Arigato Посмотреть сообщение
В цикле каждое 3-х значное на простату проверяйте:
Код:
for i := 100 to 999 do begin
  prostatit := true;
  for j := 2 to i div 2 do begin
    if i mod j = 0 then begin
      prostatit := false;
      break;
    end;
  end;
  if prostatit then 
    WriteLn(i);
end;
for j := 2 to i div 2 do begin
if i mod j = 0 then begin
Это что? Берется число от 2 до 999 делится на 2, потом целая часть если равняется 2 то 0?
Flower2 вне форума Ответить с цитированием
Старый 08.12.2013, 14:48   #4
Arigato
Высокая репутация
СуперМодератор
 
Аватар для Arigato
 
Регистрация: 27.07.2008
Сообщений: 15,551
По умолчанию

Это мы делители ищем. Число простое, если делится только на 1 и на самого себя.
Arigato вне форума Ответить с цитированием
Старый 08.12.2013, 14:52   #5
Flower2
Пользователь
 
Регистрация: 27.10.2013
Сообщений: 22
По умолчанию

Блин, не могу разобраться!
Flower2 вне форума Ответить с цитированием
Старый 08.12.2013, 17:26   #6
Artsiom
Форумчанин
 
Аватар для Artsiom
 
Регистрация: 13.07.2012
Сообщений: 357
По умолчанию

Сайт http://sovetolka.ru.
Очень подробно объяснено. Вроде ответы верны.
План решения:
1. В цикле от 999 до 101 делаем следующее
1.1. Считаем, что число простое
1.2. В цикле от N-1 до 2 проверяем остаток от деления числа. Если остаток равен нулю - считаем что число не простое и выходим из цикла.
1.3. Если число простое, то выводим его на экран

Код:
var n,i:integer;
    prostoe:boolean;
begin
     n:=999;
     while n>100 do
     begin
          prostoe:=true;
          i:=n-1;
          while (i>1) and (prostoe = true) do
                if n mod i = 0 then
                   prostoe:=false
                else
                    i:=i-1;
          if prostoe=true then
             write(n:5);
          n:=n-1;
     end;
     readln;
end.
Блок-схема http://sovetolka.ru/wp-content/uploa...03/prostie.jpg
Artsiom вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Найти простые числа от 1 до M (Задача по информатике. Паскаль) brui Помощь студентам 2 30.10.2012 11:43
Вывести на экран все простые числа, не превосходящие заданное число М - Паскаль bibek13 Помощь студентам 4 06.12.2011 08:17
3 задачи: на простые числа, на матрицу и на обработку строки. Дорешать. Паскаль gena1128 Помощь студентам 6 02.06.2011 18:21
простые числа (паскаль) RAVAL(c) Помощь студентам 9 28.12.2010 02:41
найти определённые простые числа в интервале [Паскаль] Юкоша Помощь студентам 4 24.12.2010 15:57