Форум программистов, компьютерный форум, киберфорум
Наши страницы

Turbo Pascal

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 15, средняя оценка - 4.93
Дмитрий=)
0 / 0 / 0
Регистрация: 24.01.2012
Сообщений: 36
#1

Найти все меньшие N из числел Мерсена - Turbo Pascal

24.01.2012, 23:57. Просмотров 2355. Ответов 11
Метки нет (Все метки)

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


в условии надо вывести на екран числа мерсена которые меньше заданого числа N.
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.
Постоянно в сети, на этом форуме. так что если будут какие то вопросы, отвечаю - мигом=)
ребят помогите, подкиньте идейку, буду очень благодарен, могу пополнить счёт телефона на ХХ грн, с Приват24. только помогите...
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
24.01.2012, 23:57
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Найти все меньшие N из числел Мерсена (Turbo Pascal):

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

Найти все члены ряда 1/((2*k-1)*(2*k+1)), не меньшие числа r=0.05 - Turbo Pascal
найти все члены ряда 1/((2*k-1)*(2*k+1)) не меньших числа r=0.05 k=1,3,5.. program cikl_1; uses crt; var a,n,r:real; ...

Найти все натуральные числа, меньшие заданного, удовлетворяющие условию a^2+b^2=c^2 - Turbo Pascal
Помогите, пожалуйста. После ввода строчки c:=sqrt(sqr(a)+sqr(b)); перестаёт вообще всё выводиться. Не понимаю почему. условие задачи: ...

В одномерном массиве найти все элементы, меньшие заранее заданного числа - Pascal
В одномерном массиве найти все элементы, меньшие заранее заданного числа, и из них сформировать одномерный массив.

Найти все натуральные числа, меньшие n, квадрат суммы цифр которых равен m - Turbo Pascal
Помогите с задачами, пожалуйста! 1). Начав тренировки, спортсмен в первый день пробежал 10 км. Каждый день он увеличивал дневную норму на...

Найти все элементы массива, меньшие среднего арифметического остальных элементов массива. - Turbo Pascal
Дан одномерный числовой массив. Найти все его элементы, меньшие среднего арифметического остальных элементов массива. Посчитать их...

11
Puporev
Модератор
54019 / 41652 / 14730
Регистрация: 18.05.2008
Сообщений: 97,916
25.01.2012, 10:47 #2
Можно так.
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
28
29
30
31
32
33
34
35
36
37
38
39
40
{$N+}
uses crt;
const nmax=60;
function Step2(n:byte):extended;
var p:extended;
    i:byte;
begin
p:=1;
for i:=1 to n do
p:=p*2;
Step2:=p;
end;
function Prost(n:longint):boolean;
var i:longint;
begin
if n<2 then Prost:=false
else
 begin
  Prost:=true;
  for i:=2 to round(sqrt(n)) do
  if n mod i=0 then
   begin
    Prost:=false;
    break;
   end;
 end;
end;
 
var n,i:byte;
begin
clrscr;
repeat
write('Введите число до ',nmax,' n=');
readln(n);
until n in [1..nmax];
for i:=1 to n-1 do
if Prost(i) then
writeln(Step2(i)-1:0:0,' ');
readln
end.
1
Дмитрий=)
0 / 0 / 0
Регистрация: 24.01.2012
Сообщений: 36
25.01.2012, 18:10  [ТС] #3
Это точно правельно, у меня пишет ошибку что
Цитата Сообщение от Puporev Посмотреть сообщение
function Step2(n:byte):extended;
неизвестный код или что типа этого
0
Puporev
Модератор
54019 / 41652 / 14730
Регистрация: 18.05.2008
Сообщений: 97,916
25.01.2012, 18:19 #4
А директиву написал?
Pascal
1
2
{$N+}
uses crt;
1
Дмитрий=)
0 / 0 / 0
Регистрация: 24.01.2012
Сообщений: 36
25.01.2012, 19:14  [ТС] #5
А что это за директива? что она делает? для чего она? щяс побробую с ней) спасибо)
0
Puporev
Модератор
54019 / 41652 / 14730
Регистрация: 18.05.2008
Сообщений: 97,916
25.01.2012, 19:16 #6
Цитата Сообщение от Дмитрий=) Посмотреть сообщение
А что это за директива?
Подключает математический сопроцессор и становятся доступными типы double, extended.
1
Дмитрий=)
0 / 0 / 0
Регистрация: 24.01.2012
Сообщений: 36
26.01.2012, 01:03  [ТС] #7
А как поменять формулу в данно проге? вот "2^р-1" а не 2*р-1
0
Puporev
Модератор
54019 / 41652 / 14730
Регистрация: 18.05.2008
Сообщений: 97,916
26.01.2012, 08:34 #8
Цитата Сообщение от Дмитрий=) Посмотреть сообщение
вот "2^р-1" а не 2*р-1
Так в программе и так 2^p-1
2^p это описано функцией
Pascal
1
function Step2(n:byte):extended;
и вызывается в программе
Pascal
1
writeln(Step2(i)-1:0:0,' '); //как раз это 2^р-1
0
Дмитрий=)
0 / 0 / 0
Регистрация: 24.01.2012
Сообщений: 36
27.01.2012, 15:11  [ТС] #9
Ребят, Оно не правильно ищет=(
0
Puporev
Модератор
54019 / 41652 / 14730
Регистрация: 18.05.2008
Сообщений: 97,916
27.01.2012, 16:16 #10
Цитата Сообщение от Дмитрий=) Посмотреть сообщение
Оно не правильно ищет=(
Это ты не правильно ищешь, почитай
http://ru.wikipedia.org/wiki/%D0%A7%...BD%D0%BD%D0%B0
Где там написано
Цитата Сообщение от Дмитрий=) Посмотреть сообщение
в виде 2p-1,
0
qwer1234
13 / 13 / 3
Регистрация: 30.10.2012
Сообщений: 463
28.10.2013, 10:27 #11
Puporev,
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
28
29
30
31
32
33
34
35
36
37
38
39
40
{$N+}
uses crt;
const nmax=60;
function Step2(n:byte):extended;
var p:extended;
i:byte;
begin
p:=1;
for i:=1 to n do
p:=p*2;
Step2:=p;
end;
function Prost(n:longint):boolean;
var i:longint;
begin
if n<2 then Prost:=false
else
begin
Prost:=true;
for i:=2 to round(sqrt(n)) do
if n mod i=0 then
begin
Prost:=false;
break;
end;
end;
end;
 
var n,i:byte;
begin
clrscr;
repeat
write('Введите число до ',nmax,' n=');
readln(n);
until n in [1..nmax];
for i:=1 to n-1 do
if Prost(i) then
writeln(Step2(i)-1:0:0,' ');
readln
end.
ты можешь этот код переписать на С++ ?
0
Puporev
Модератор
54019 / 41652 / 14730
Регистрация: 18.05.2008
Сообщений: 97,916
28.10.2013, 10:34 #12
Даже если бы мог, не стал бы, совсем обленились....
0
28.10.2013, 10:34
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
28.10.2013, 10:34
Привет! Вот еще темы с ответами:

Составьте программу, позволяющую найти все числа Фибоначчи, меньшие заданного числа N - Pascal
В 1202г. Итальянский математик Леонард Пизанский (Фибоначчи) предложил такую задачу: пара кроликов каждый месяц дает приплод – двух...

Найти все элементы массива, меньшие среднего арифметического следующих за ним элементов массива. - Turbo Pascal
Дан одномерный числовой массив. Найти все его элементы, меньшие среднего арифметического следующих за ним элементов массива.

Даны натуральные числа n, m. Найти все натуральные числа меньшие n, квадрат суммы цифр которых равен m - Turbo Pascal
Даны натуральные числа n, m. Найти все натуральные числа меньшие n, квадрат суммы цифр которых равен m

Напечатать элементы файла: сначала – все числа, меньшие а, затем – все числа из отрезка - Turbo Pascal
За один просмотр файла целых чисел напечатать элементы файла в следующем порядке: сначала – все числа, меньшие а, затем – все числа из...


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

Или воспользуйтесь поиском по форуму:
12
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru