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

числа Мерсена

09.11.2009, 19:02. Показов 2484. Ответов 7
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Задание: Найти все, меньшие N, числа Мерсена (простое число называется числом Мерсена, если оно может быть представлено в виде:"(2^p)-1 (два в степени Р минус 1)", где p-также простое число)
Вот моя наработка,с множеством разобрался, а вот простые числа и число Мерсена меня завели в тупик,выручайте.Зарание спасибо.

Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
Program labn9;
uses crt;
var st: set of byte;
    i,n,m,p: byte
begin
clrscr;
randomize;
writeln('vvedite razmer mnojestva');
readln(m);
for i:=1 to m do st:=st+[random(255)];
writeln('vyvod mnojestva');
for i:=0 to 255 do if i in st then writeln(i);
writeln('vvedite n,p');
readln(n,p);
 
 
readln;
end.
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
09.11.2009, 19:02
Ответы с готовыми решениями:

Процедуры и функции: найти все меньшие n числа Мерсена
Дано натуральное число n. Найти все меньшие n числа Мерсена. (Простое число называется числом Мерсена, если оно может быть представлено в...

Найти все меньшие n числа Мерсена
В работе необходимо выделить из основной задачи логически законченные подзадачи и реализовать их с помощью процедур или функций....

Найти все меньшие N из числел Мерсена
Дано натуральное число N. Найти все меньшие N из числел Мерсена. Простое число называется числом Мерсена, если оно может быть представлено...

7
 Аватар для yanyk1n
4342 / 1474 / 680
Регистрация: 12.03.2009
Сообщений: 5,310
09.11.2009, 19:11
поправка: p необязательно должно быть простым, главное - натуральным(Википедия)

Но если брать p только простое, то таких чисел в пределах longint будет очень мало: 3, 7, 31, 127, 2047, 8191, 131071, 524287, 8388607, 536870911, 2147483647
(кстати 2^31-1 - максимальное число типа longint и число Мерсенна одновременно)
0
0 / 0 / 1
Регистрация: 10.10.2009
Сообщений: 52
09.11.2009, 19:14  [ТС]
Напишите пожалуйста алгоритм вывода чисел мерсена меньше числа N.
А каже р=5,11: 2^5-1=32-1=31, 2^11-1=2048-1=2047,Вроде бы простые числа
0
 Аватар для yanyk1n
4342 / 1474 / 680
Регистрация: 12.03.2009
Сообщений: 5,310
09.11.2009, 19:20
А зачем тут множества?:
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
uses crt;
var s,i:longint;
 
function Prime(n:integer):boolean;
var i:integer;
     f:boolean;
begin
 f:=true;
 for i:=1 to round(sqrt(n)) do if n mod i=0 then
 begin
  f:=false;
  break;
 end;
 prime:=f;
end;
 
begin
 clrscr;
 s:=1;
 for i:=1 to 31 do
 begin
  s:=s*2-1;
  if prime(i) and prime(s) then write(s,' ');
  s:=s+1;
 end;
 readln;
end.
0
0 / 0 / 1
Регистрация: 10.10.2009
Сообщений: 52
09.11.2009, 19:56  [ТС]
Цитата Сообщение от k1ry4 Посмотреть сообщение
А зачем тут множества?:
У меня тема лабораторной работы - "Множества"

Добавлено через 30 минут
Мне вопшем нада зделать унимверсальную программу,нужно ввести число Р и если оно не простое вывести сообщение и заново вводить его, и т.д.
0
 Аватар для yanyk1n
4342 / 1474 / 680
Регистрация: 12.03.2009
Сообщений: 5,310
09.11.2009, 20:07
просто множества тебе помогут только для чисел до 255, так как максимальное кол-во элементов множества равно 255.(решето Эратосфена)

Добавлено через 2 минуты
Цитата Сообщение от Sting Посмотреть сообщение
А каже р=5,11: 2^5-1=32-1=31, 2^11-1=2048-1=2047,Вроде бы простые числа
В таком случае вы ищете p, а в условии: Найти такие N, если оно может быть представлено в виде2^p)-1
0
0 / 0 / 1
Регистрация: 10.10.2009
Сообщений: 52
09.11.2009, 20:12  [ТС]
А как я понял - в условии надо вывести на екран числа мерсена которые меньше заданого числа N.
0
0 / 0 / 1
Регистрация: 10.10.2009
Сообщений: 52
10.11.2009, 01:22  [ТС]
весь вечер просидел,вот зделал,но где-то ошибка,а найти немогу,помогите плз.
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
Program labn9;
uses crt;
const a:array[1..11] of longint=(3,5,7,9,11,13,17,19,23,29,31);
var st: set of byte; f:boolean;
    l,j,i,n,m,p: byte;
begin
clrscr;
randomize;
writeln('vvedite razmer mnojestva');
readln(m);
for i:=1 to m do st:=st+[random(255)];
writeln('vyvod mnojestva');
for i:=0 to 255 do if i in st then writeln(i);
writeln('vvedite n');
readln(n);
writeln('vvedite prostoe chislo p');
readln(p);
for j:=1 to 11 do
  if p=a[j] then p:=a[j] else writeln('vy vveli ne prostoe chislo');
for i:=0 to 255 do
if (i in st) and (i<n) and (i=exp(ln(2)*p)-1)
then writeln(i);
 
readln;
end.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
10.11.2009, 01:22
Помогаю со студенческими работами здесь

Найти все меньшие n числа Мерсена
Дано натуральное число n. Найти все меньшие n числа Мерсена. (Простое число называется числом Мерсена, если оно может быть представлено в...

Дано натуральное число N. Найти все меньшие N из числел Мерсена
Дано натуральное число N. Найти все меньшие N из числел Мерсена.

Числа Мерсена.
Нужна помощь с прогой. Дано натуральное число n. Найти все числа Мерсена меньшие n. (Простое число называется числом Мерсена, если оно...

числа мерсена меньше n
дано натуральное число n. найти все числа мерсена, меньше n. простое число называется числом мерсена, если оно может быть представлено в...

Найти все простые числа Мерсена
Здравствуйте. Дано натуральное число n. Найти все простые числа Мерсена (простое число называется числом Мерсена, если его можно...


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

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Новые блоги и статьи
Переходник USB-CAN-GPIO
Eddy_Em 20.03.2026
Достаточно давно на работе возникла необходимость в переходнике CAN-USB с гальваноразвязкой, оный и был разработан. Однако, все меня терзала совесть, что аж 48-ногий МК используется так тупо: просто. . .
Оттенки серого
Argus19 18.03.2026
Оттенки серого Нашёл в интернете 3 прекрасных модуля: Модуль класса открытия диалога открытия/ сохранения файла на Win32 API; Модуль класса быстрого перекодирования цветного изображения в оттенки. . .
SDL3 для Desktop (MinGW): Рисуем цветные прямоугольники с помощью рисовальщика SDL3 на Си и C++
8Observer8 17.03.2026
Содержание блога Финальные проекты на Си и на C++: finish-rectangles-sdl3-c. zip finish-rectangles-sdl3-cpp. zip
Символические и жёсткие ссылки в Linux.
algri14 15.03.2026
Существует два типа ссылок — символические и жёсткие. Ссылка в Linux — это запись в каталоге, которая может указывать либо на inode «файла-ИСТОЧНИКА», тогда это будет «жёсткая ссылка» (hard link),. . .
[Owen Logic] Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ФедосеевПавел 14.03.2026
Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора ВВЕДЕНИЕ Выполняя задание на управление насосной группой заполнения резервуара,. . .
делаю науч статью по влиянию грибов на сукцессию
anaschu 13.03.2026
прикрепляю статью
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru