Program asd;
USES crt;
Var i,j,n:integer;
BEGIN
Clrscr;
Writeln('Vvedite chislo: ');
Read(n);
j:=0;
For i:=1 to N do
j:=j+i;
Writeln(j);
<span>END.</span>
Число считается совершенным, если оно равно сумме своих делителей, исключая себя самого. Для проверки, является ли число N совершенным, полагаем будущую сумму делителей равной 1 (на единицу число всегда делится) и последовательно делим N на числа, начиная от 2 и заканчивая N/2.
Если число делится без остатка на очередной делитель, добавляем его к сумме. После завершения цикла делений сравниваем сумму с N и в случае равенства объявляем число N совершенным. В начале алгоритма проверяем, чтобы N было больше 1, в противном случае сразу объявляем число не совершенным.
var
i,n,s:longint;
begin
Write('Введите натуральное число: '); Read(n);
if n=1 then Writeln('Число 1 не является совершенным')
else begin
s:=1;
for i:=2 to (n div 2) do
if (n mod i)=0 then s:=s+i;
if s=n then Writeln('Число является совершенным')
else Writeln('Число не является совершенным')
end
end.
<em><u>Тестовое решение:</u></em>
Введите натуральное число: 33550336
Число является совершенным
Введите натуральное число: 543252
Число не является совершенным
uses crt;
var kletka,i,vremya:integer;
begin
kletka:=1;
write ('vvedite vremya');
read(vremya);
vremya:=vremya div 5;
for i:=1 to vremya do
kletka:=kletka*4;
write ('kletok stanet- ',kletka);
end.
Блок-схема - в прилагаемом файле.
#include <iostream>
using namespace std;
int main() {
int b, k;
cin >> b;
k = (b-1)/1024+1;
cout << "k = " << k << "\n";
return 0;
}
Пример:
2050
<span>k = 3</span>
№ 1
что бы перевести из 10-ной с.с в 2-ную,нам необходимо число 83 делить на основание с.с в которую нам необходимо перевести(т.е нам необходимо перевести в 2-ную,значит делим на 2),получается частное и остаток( 0 или 1),,сравниваем частное и остаток если частное больше, то делим частное до тех пор пока не будет меньше делимого,затем записываем ответ с последнего частного и всех последующих остатков 83(10)= 1010011(2) ---> ответ будет 3
№ 2 зесь либо необходимо число перевести в 2-ную с.с,потом сравнивать все другие числа(но это будет посложнее так как необходимо быть внимательным) либо после 2-ной с.с перевести в 10-ную
а=Е7(16)=11100111(2)=231(10)
в=551(8)=11101001(2)=233(10)
1)11101010(2)=234(10) <span>2) 11101000(2)=232(10) 3) 11101011(2)=235(10) 4) 11101100(2)=236(10) ----->тем самым получили ответ : 2
</span>№3
a=70(10)=1000110(2)
b=40(16) =64(10)=1000000(2)
1) 1000000(2)=64(10) 2) 1000110(2)=70(10) 3) 1000101(2)=69(10) 4) 1000111(2)=71(10)----->тем самым получили ответ : 3