Var
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) - квадратный корень от х;
\ - операция целочисленного деления
\% - операция остатка от целочисленного деления
<em>// PascalABC.NET 3.3, сборка 1633 от 10.02.2018</em>
<em>// Внимание! Если программа не работает, обновите версию!</em>
begin
ArrRandom(10,-50,50).Println.Sum.Println;
end.
<u>Пример</u>
31 19 1 -45 -14 -32 8 -46 46 -18
-50
А) 173,3 ≡ 1) 0, 1733*10^3
Б) 1, 733 ≡ 3) 0,1733*10^1
В) 0, 1733 ≡ 2) 0,1733*10^0
Г) 0, 0001733 ≡ 4) 0, 1733*10^-3
Который раз повторяю, указывайте на каком языке нужно писать программу. По классике написала на Pascal:
program ff;
var
x : integer;
begin
Write('Введите число ');
Readln(x);
if x mod 2 = 0 then writeln(x/2)
else writeln(sqr(x));
end.
Ответ:
program Test;
var
n, t: Integer;
b: Boolean;
begin
Write ('Введите трехзначное число: ');
ReadLn (n);
if (n >= 100) and (n <= 999) then begin
if (n mod 10) mod 2 = 0 then
WriteLn ('четная')
else
WriteLn ('не четная');
end else
WriteLn (n, ' - не трехзначное');
ReadLn;
end.