Проверить является ли число простым паскаль

Формулировка. Дано натуральное число. Проверить, является ли оно простым. Примечание: простым называется натуральное число, которое имеет ровно два различных натуральных делителя: единицу и само это число.

Решение. Задача отличается от предыдущей только тем, что вместо вывода на экран числа делителей, содержащегося в переменной count, необходимо выполнить проверку равенства счетчика числу 2. Если у числа найдено всего два делителя, то оно простое и нужно вывести положительный ответ, в противном случае – отрицательный ответ. А проверку через условный оператор, как мы уже знаем, можно заменить на вывод результата самого булевского выражения с помощью оператора write (writeln).

Код:

  1. program PrimeTest;
  2. var
  3. i, n, count: word;
  4. begin
  5. readln(n);
  6. count := 0;
  7. for i := 1 to n do begin
  8. if n mod i = 0 then inc(count)
  9. end;
  10. writeln(count = 2)
  11. end.

На этой странице рассмотрим задачи while22 и while23 задачника Абрамяна: определение простоты числа и задача о нахождении наибольшего общего делителя соответственно. Ниже есть форма для проверки числа на простоту, для этого нужно ввести целое положительное число в жёлтое поле и нажать "проверить".

НОД(A, B) = НОД(B, A mod B), если B ≠ 0; НОД(A, 0) = A,

где «mod» обозначает операцию взятия остатка от деления.

Решение этой задачи смотрите на странице наибольший общий делитель.

Ответы и объяснения

  • nikolaj-semyonov
  • Мегамозг
  • 2017-05-07 16:50:20

Чтобы определить, является ли число N простым на Паскале, следует последовательно делить N на числа в промежутке от 2 до N/2. Если в процессе такого деления хотя бы один раз получится так, что остаток от деления будет составлять 0, значит число имеет помимо самого себя еще какой-то делитель. А следовательно число не является простым. Вот так легко определить является ли число простым.

Читайте также  Рисунки для срисовки для начинающих цветные

program ex37;
uses crt;
var n, i,f, z: integer;
begin
clrscr;
write(‘Введите натуральное число n= ‘);
readln(n);
f:=0; <Начальное значение флага>
i:=2; <Начальное значение делителя>
z:=n div 2;

Ссылка на основную публикацию
Adblock
detector