Спортсмеи быстров иван участвовал в соревнованиях и получил в личном зачетесеребряную медаль, известно, что участники, получившие одинаковое количествоочков, одинаковыми . известно также, что были разыгранызолотые, серебряные и бронзовые медали. написать программу, определяющуюколичество очков, которые набрал быстров иван.
111011 2 = 0011 1011 2
Затем заменяем каждую группу на код из таблицы.
Двоичная СС шестнадцатеричная СС
1101D1110E1111F
Получаем число:
0011 1011 2 = 3B16
Переводим дробную часть числа. Для этого разделим исходный код на группы по 4 разряда.
10011 2 = 1001 1000 2
Затем заменяем каждую группу на код из таблицы.
Получаем число:
1001 1000 2 = 98 16
В итоге получаем число: 3B.98 16
делим 32 на 8 до наименьшего ответа и остатка.Остаток от деления записываем в обратном порядке. Получаем число в 8-ой системе счисления: 040
32 = 040 8
Для перевода дробной части числа последовательно умножаем дробную часть на основание 8. В результате каждый раз записываем целую часть произведения.
0.25*8 = 2 (целая часть 2)
0*8 = 0 (целая часть 0)
0*8 = 0 (целая часть 0)
0*8 = 0 (целая часть 0)
Получаем число в 8-ой системе счисления: 2000
0.25 = 2000 8
В итоге получаем число: 040.2000 8
i, n, s: longint;
d, k: integer;
begin
i := 3; k := 0;
repeat
s := 1;
for d := 2 TO Trunc(sqrt(i)) do
begin
n := (i div d);
if n * d = i then s := s + d + (i div d);
end;
if int(sqrt(i)) = sqrt(i) then s := s - Trunc(sqrt(i));
if s = i then k := k + 1;
i := i + 1
until (k = 3);
Writeln('Третье совершенное число равно ',s)
end.
Тестовое решение:
Третье совершенное число равно 496
const
k=35; { k-е по порядку простое число }
var
i,j,n,m:integer;
begin
n:=1; i:=1;
repeat
j:=2;
m:=round(sqrt(i));
while (i mod j <>0) and (j<=m) do j:=j+1;
if j>m then n:=n+1;
i:=i+1
until (n=k);
Writeln(i-1)
end.
Тестовое решение:
137
var
n, d1, d2, d3: integer;
begin
Write('Введите трехзначное число ->');
Readln(n);
d1 := (n div 100);
d2 := ((n mod 100) div 10);
d3 := (n mod 10);
if (d1 * d2 * d3 in [100..999]) then
Writeln('Произведение цифр трехзначное')
else Writeln('Произведение цифр не трехзначное')
end.
Тестовое решение:
Введите трехзначное число ->518
Произведение цифр не трехзначное
*** В блок-схемах использованы обозначения:
sqrt(x) - квадратный корень от х;
\ - операция целочисленного деления
% - операция остатка от целочисленного деления