Предмет: Информатика, автор: AngiF

Найти произведение совершенных чисел больших 100 (Паскаль):
дана последовательность из N чисел, количество чисел вводится с клавиатуры. Числа выбираются из промежутка [ 10; 50 ] .


restIess: Если совершенных чисел нет, то программа выведет 1
AngiF: А если программу написать, что должно соблюдаться условие, что число должно быть совершенное и, если оно будет больше 100, то отправлять в произведение, а если меньше 100 - в другую сторону. Не смотреть на заданный промежуток чисел? Только как его обозначить - совершенное число?
AngiF: Их до 100 всего два числа, остальные больше 100 и их очень мало
AngiF: По мере того как натуральные числа возрастают, совершенные числа встречаются всё реже. Третье совершенное число — 496, четвёртое — 8128, пятое — 33 550 336, шестое — 8 589 869 056
restIess: Это условие некорректное в данном случае просто
restIess: Его скорее всего тупо скопировали из других заданий, не смотря на условие
AngiF: Там и учитель некорректный тоже ))) Дали 30 вариантов на класс, естественно копировали, как могли (((
restIess: Подойдите к нему и спросите аккуратно: "Подскажите, пожалуйста, совершенное число в промежутке [10;50], которое больше 100"
restIess: Я думаю, он поймёт косяк, и скажет, что реализация ниже верна
AngiF: ))) спрошу )))

Ответы

Автор ответа: restIess
3

var n,z,x,i,s,pr: integer;

begin

pr := 1;

readln(n);

for z:= 1 to n do  

begin

write('Введите натуральное число x=');

readln(x);

if (x>100) then  

begin

s:=0;

for i:=1 to x div 2 do

if x mod i = 0 then s:=s+i;

if s=x

then pr:= pr * x;

end;

end;

write(pr);

end.


AngiF: Спасибо огромное, главное, чтобы не пару влепили )))
restIess: 5-ку влепят)
AngiF: Я вот, что нашла (правда ни фига не понимаю): найти совершенное число меньше заданного n (у нас получается больше 100):var n,i,k,j:longint;
begin
clrscr;
write('n=');readln(n);
for i:=1 to n do
begin
k:=0;
for j:=1 to i-1 do
if i mod j=0 then
begin
k:=k+j;
end;
if k=i then write(i,' ');
end;
readln;
end.
AngiF: Ой, блин, у нас же не просто число, а произведение ))) Всё мозг вывернулся наизнанку (((
restIess: В этом коде они вообще непонятно чего ищут)
restIess: Код из интернета еще пытаться заставить работать придётся, так что можете не искать ;)
AngiF: Спасибо Вам огромное!!! 5 поставили!
restIess: Я ж говорил)
AngiF: Здравствуйте. Посмотрите, пожалуйста, задачу на массив у меня в профиле... Пожалуйста. Ответ дали, но я очень беспокоюсь )
Похожие вопросы
Предмет: Русский язык, автор: Вииииииииика
Предмет: Математика, автор: Keksikkk228
Предмет: Литература, автор: влажную