РЕШИТЕ ЗАДАЧУ НА ЯЗЫКЕ С++ Натуральное число называется совершенным, если оно равно сумме своих делителей, включая 1 и, естественно, исключая это самое число. Например, число 6 — совершенное (6=1+2+3). Дано натуральное число n. Необходимо выяснить, является ли оно совершенным.
Формат входных данных
Вводится целое число n (1≤n≤215−1).
Формат выходных данных
Выведите «YES», если n — совершенное число, и «NO» в противном случае.
входные данные
6
5
выходные данные
YES
NO
type omas=array[1..n] of integer;
Procedure Del (var z:omas; k:byte);
var i:byte;
begin
for i:=k to n-1 do z[i]:=z[i+1];
z[n]:=0;
end;
var a:omas; i,b:integer;
begin
Randomize;
for i:=1 to n do
begin
a[i]:=random(20);
write(a[i]:4);
end;
writeln;
b:=6;
i:=1;
while (i<=n)and(a[i]<>b) do i:=i+1;
if i<=n then
begin
Del(a,i);
writeln('Размерность массива = ',n-1);
for i:=1 to n-1 do write(a[i]:4);
writeln;
end else writeln('Массив не изменился');
end.
Пример:
12 13 6 7 17 1 18 17 3 2 12 3 16 6 7 13 0 2 5 18
Размерность массива = 19
12 13 7 17 1 18 17 3 2 12 3 16 6 7 13 0 2 5 18
Еще пример: магазинные чеки. Не будет же машина (из-за технической сложности) или человек (из-за лени) писать на чеке: "продано столько-то столько-то того-то того-то ... пакет апельсинов весил шестьсот пядесят три грамма ... итд". На чеке будет табличка, где четко и точно будет написано то, что человек приобрел.
Вот. Так что табличные модели, несомненно, лучше словесных.