Форум программистов, компьютерный форум, киберфорум
Pascal (Паскаль)
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.51/95: Рейтинг темы: голосов - 95, средняя оценка - 4.51
0 / 0 / 0
Регистрация: 04.11.2009
Сообщений: 47

Составить программу определения является ли введенное число простым

11.11.2009, 22:17. Показов 17739. Ответов 9
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Составить программу определения является ли введенное число простым с использованием рекурсивной функции. полное решение пж
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
11.11.2009, 22:17
Ответы с готовыми решениями:

Написать программу, которая проверяет, является ли целое число, введенное пользователем, простым
Всем привет. Не могу решить эти задания. Можете помочь?Я то я пропустил темы,теперь плохо понимаю. 3. Написать программу, которая...

Составить программу для определения, является ли введенное предложение палиндромом
Составить программу для определения: является ли введенное предложение палиндромом. Пример палиндрома: А роза упала на лапу Азора ...

Является целое число, введенное пользователем простым.
Написать программу, которая проверяет, является целое число, введенное пользователем простым.(через while) Добавлено через 3 минуты ...

9
60 / 60 / 9
Регистрация: 09.11.2009
Сообщений: 198
11.11.2009, 22:43
попробуйте написать решение, используя цикл
потом - покажу, как это переделать в рекурсию
0
0 / 0 / 0
Регистрация: 04.11.2009
Сообщений: 47
12.11.2009, 00:20  [ТС]
пж напиши решение =(
0
Почетный модератор
 Аватар для Puporev
64315 / 47611 / 32743
Регистрация: 18.05.2008
Сообщений: 115,167
12.11.2009, 09:44
Можно например так.
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
uses crt;
{основная функция}
function Prost(n:longint):boolean;
{вспомогательная, определяет есть ли делители у числа кроме самого и 1}
function Kratn(a,b:longint):boolean;
begin
if b<=1 then exit;{1 и 0 не считаем, это условие выхода из рекурсии}
Kratn:=(a mod b <>0)and Kratn(a,b-1);
{если не делится на данное и меньше его на 1 число, смотрим следующее}
end;
begin
Prost:=Kratn(n,n-1);{если нет делителей-простое}
end;
var m:longint;
begin
clrscr;
write('M=');
readln(m);
if Prost(m) then write('Prostoe!')
else write('No!');
readln
end.
1
0 / 0 / 0
Регистрация: 04.11.2009
Сообщений: 47
12.11.2009, 20:02  [ТС]
спс!!!
0
 Аватар для devnull
0 / 0 / 0
Регистрация: 26.12.2009
Сообщений: 4
26.12.2009, 13:48
Данная программа считает числа простыми только до 7. Все что дальше - непростые числа

И лучше exit; не юзать.

Pascal
1
2
3
4
5
6
7
8
9
10
function Prost(n:longint):boolean;
{вспомогательная, определяет есть ли делители у числа кроме самого и 1}
function Kratn(a,b:longint):boolean;
begin
Kratn:=(a mod b <>0)and Kratn(a,b-1);
{если не делится на данное и меньше его на 1 число, смотрим следующее}
end;
begin
if n>1 then Prost:=Kratn(n,n-1);{если нет делителей-простое}
end;
Добавлено через 36 минут
Поправка:

Pascal
1
2
3
4
5
6
7
8
9
10
11
function Prost(n:longint):boolean;
{вспомогательная, определяет есть ли делители у числа кроме самого и 1}
function Kratn(a,b:longint):boolean;
begin
if b>1 then 
Kratn:=(a mod b <>0)and Kratn(a,b-1);
{если не делится на данное и меньше его на 1 число, смотрим следующее}
end;
begin
Prost:=Kratn(n,n-1);{если нет делителей-простое}
end;
0
0 / 0 / 0
Регистрация: 10.10.2010
Сообщений: 7
11.10.2010, 23:06
Программа ввыодит все простые числа до заданного числа N

Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
program n2l;
var a,b,c,n:longint;
 
begin
writeln('vvedite n');
readln(n);
 
for a:=1 to n-1 do
  begin
   c:=0;
   for b:=1 to a do  if a mod b=0 then c:=c+1;
    if c=2 then write ('  ',b);
  end;
 
readln;
end.
0
481 / 119 / 17
Регистрация: 30.09.2010
Сообщений: 473
11.10.2010, 23:31
Цитата Сообщение от devnull Посмотреть сообщение
И лучше exit; не юзать.
В самом по себе использовании exit; криминала нет, если делать это грамотно. Оно опасно тем, что неграмотные программисты часто забывают сделать необходимые по выходу действия, особенно при дальнейшей модификации функции.

Ну, собственно, далеко ходить не надо:
Цитата Сообщение от Puporev Посмотреть сообщение
Pascal
1
2
3
4
5
function Kratn(a,b:longint):boolean; 
begin 
if b<=1 then exit;{1 и 0 не считаем, это условие выхода из рекурсии} 
Kratn:=(a mod b <>0) and Kratn(a,b-1);{если не делится на данное и меньше его на 1 число, смотрим   следующее} 
end;
В данном опусе имеет место грубая пионерская ошибка: не происходит обязательного присвоения значения результату функции по всем возможным ветвям развития событий, поэтому ее результат может быть неопределен. Хотя в используемом конкретном компиляторе возможно, что функция без назначения результата возвращает boolean(0), но закладываться на это нельзя, также как и на значение параметра цикла for после выхода из него.
0
0 / 0 / 0
Регистрация: 10.10.2010
Сообщений: 7
12.10.2010, 17:42
Еще один вариант программы, которая выводит все простые числа до заданного числа N, но без цикла FOR в теле программы.

Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
program prost_un;
var a,b,c,n:longint;
 
begin
writeln('vvedite n');
readln(n);
a:=0;
 repeat
 a:=a+1;
 c:=0;
 b:=0;
    repeat
     b:=b+1;
     if a mod b=0 then c:=c+1;
     until b=a;
    if c=2 then write ('  ',b);
  until a = n-1;
 
readln;
end.
0
0 / 0 / 0
Регистрация: 03.03.2016
Сообщений: 2
03.03.2016, 09:13
Pascal
1
2
3
4
5
6
7
8
9
program ggg;
var i,n:integer;
begin
readln (n);
repeat i:=i+1;
until n mod i=0; if n=i 
then write ('vern=')
else write ('ne vern=');
end.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
03.03.2016, 09:13
Помогаю со студенческими работами здесь

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

Является целое число, введенное пользователем простым.
Помогите решить,плиз!!!(((( 1.Написать программу, которая проверяет, является целое число, введенное пользователем простым. (Простым...

Проверить, является ли введенное целое положительное число простым
Проверить, является ли введенное целое положительное число простым. Простым называется число, которое имеет только два делителя (единицу и...

Оператор repeat. Является ли целое число, введенное пользователем, простым
1) Составить программу используя оператор REPEAT.Написать программу , которая проверяет является ли целое число введенное веденное...

Составить программу определения является ли введенное число простым с использованием рекурсивной функции
Составить программу определения является ли введенное число простым с использованием рекурсивной функции.


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
10
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru