1 / 1 / 0
Регистрация: 09.07.2011
Сообщений: 3
1

Определить является ли заданное натуральное число совершенным

09.07.2011, 12:43. Показов 7015. Ответов 7
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
буду очень благодарна за помощь .
задача:
Определить является ли заданное натуральное число совершенным т.е. равной сумме всех своих положительных делителей кроме самого этого числа (например число 6 совершенное: 6 = 1 +2 +3).
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
09.07.2011, 12:43
Ответы с готовыми решениями:

Определить, является ли заданное натуральное число совершенным
определить,является ли заданное натуральное число совершенным,т.е равным сумме всех (положительных)...

Определить, является ли заданное натуральное число совершенным
составить программу, определяющую, является ли заданное натуральное число Р совершенным....

Определить, является ли заданное натуральное число совершенным
Определить, является ли заданное натуральное число совершенным, то есть равным сумме всех своих...

Является ли заданное натуральное число совершенным
СОСТАВИТЬ программу, проверяющую, является ли заданное натуральное число совершенным

7
60 / 40 / 30
Регистрация: 26.05.2011
Сообщений: 92
09.07.2011, 14:01 2
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
Program A;
Var
  a: Word;
 
function summa(a:Word):Word;
 var
   i: Word;
 begin
   summa:=0;
   for i:=1 to a-1 do
     if (a mod i=0) then summa:=summa+i;
 end;
 
Begin
  Write('A='); Readln(a);
  if a=summa(a) then Writeln('Совершенное число')
  else Writeln('Нет');
End.
1
Почетный модератор
64291 / 47589 / 32740
Регистрация: 18.05.2008
Сообщений: 115,181
09.07.2011, 14:31 3
Pascal
1
for i:=1 to a-1 do
можно заменить на
Pascal
1
for i:=1 to a div 2 do
1
Путешественник вселенной
189 / 160 / 119
Регистрация: 01.03.2011
Сообщений: 664
09.07.2011, 15:17 4
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
Var a,sum:integer; i:shortint;
begin
repeat
if ((a=0) or (a<0)) and (i>0)
then Writeln('Ïîâòîðèòå ïîïûòêó')
else
Writeln('×èñëî ðàâíî.....(íó âû äîãàäàëèñü ÷òî äåëàòü íàäî)');
readln(a);
i:=i+1;
until a>0;
sum:=0;
for i:=1 to a div 2 do
begin if a mod 2=0 then sum:=sum+i; end;
if sum=a then
Writeln('Â ýòîò ðàç âàì ïîâåçëî')
else Writeln('Íå ñóäüáà');
readln;
end.
1
2857 / 1986 / 788
Регистрация: 23.09.2010
Сообщений: 4,877
09.07.2011, 18:49 5
Просто лис
begin if a mod 2=0 then sum:=sum+i; end;
может i а не 2?

Добавлено через 51 минуту
Предлогаю вот такой вариант с проверкой на совршенство не более чем 5-го совершенного числа,так как я не думаю что вам алгоритм для чисел больше нужен.
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
Var
 j,r,i:longint;
 t,t2:boolean;
begin
repeat
 readln(r);
 if r<=0 then write('Íó ñêàçàíî æå íàòóðàëüíîå ââåäè: ')
until r>0;
if r<5 then write('Íåò ýòî íå ñîâåðøåííîå ÷èñëî.')
else
begin
 t2:=false;
 for i:=2 to r do
 begin
  t:=false;
  for j:=2 to round(sqrt((exp(ln(2)*i)-1))) do
  if round(exp(ln(2)*i)-1) mod j=0 then
  begin
   t:=true;
   break
  end;
  if i>13 then break;
  if not(t) and (round(exp(ln(2)*(i-1))*(exp(ln(2)*i)-1))=r) then
  begin
   t2:=true;
   break
  end
 end;
 if t2 then write('Äà ÷èñëî ÿâëÿåòñÿ ÑÎÂÅÐØÅÍÍÛÌ')
 else write('Íåò')
end;
readln
end.
0
143 / 143 / 141
Регистрация: 05.04.2011
Сообщений: 270
09.07.2011, 23:47 6
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
var a:array[1..10] of int64;
    n,m:int64;
    i:longint;
    f:boolean;
begin
  assign(input,'input.txt');reset(input);
  assign(output,'output.txt');rewrite(output);
read(n,m);
a[1]:=6;
a[2]:=28;
a[3]:=496;
a[4]:=8128;
a[5]:=33550336;
a[6]:=8589869056;
a[7]:=137438691328;
a[8]:=2305843008139952128;
f:=false;
for i:=1 to 8 do
  if a[i]=n then begin
 writeln('YES');
END.
0
Путешественник вселенной
189 / 160 / 119
Регистрация: 01.03.2011
Сообщений: 664
10.07.2011, 04:07 7
SuPeR XaKer, спасибо не заметил, хотя Марии Павловне, прислали достаточное кол-во вариантов.
0
2857 / 1986 / 788
Регистрация: 23.09.2010
Сообщений: 4,877
10.07.2011, 10:18 8
Small Lamer
int64;
ага.в TP.массив то конечно можно использовать. да только важен сам алгоритм по определению а не то как ты можешь массив совершенными числами заполнять.
0
10.07.2011, 10:18
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
10.07.2011, 10:18
Помогаю со студенческими работами здесь

Определить, является ли заданное натуральное число простым
Определить, является ли заданное натуральное число простым. Выходные данные: Вывести YES или NO....

Определить, является ли заданное натуральное число простым
Определить, является ли заданное натуральное число простым

Определить, является ли заданное натуральное число простым (рекурсия)
11. Определить, является ли заданное натуральное число простым

Выяснить, является ли натуральное число совершенным
Выяснить, является ли натуральное число совершенным, т.е. равным сумме своих делителей, включая 1


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2023, CyberForum.ru