pascalabc.net
function isprime(n: integer): boolean; // простое?
begin
if n < = 1 then
begin
result : = false;
exit
end;
result : = true;
var (j, r) : = (2, round(sqrt(;
while result and (j < = r) do
if n mod j = 0 then
begin
result : = false;
exit
end
else
j += 1;
end;
function ishyperprime(n: integer): boolean; // гиперпростое?
begin
result : = false;
var k : = 10;
while n > 10 do
begin
n : = n div 10;
if not isprime(n) then exit
end;
result : = true
end;
begin
var (a, b) : = readinteger2;
var found : = false;
foreach var n in range(a, b) do
if isprime(n) then // найдено простоe число
if ishyperprime(n) then
begin
found : = true;
n.print
end;
if not found then
write(0)
end.
pascalabc.net
function gcd(a, b: integer): integer; // нод
begin
while b < > 0 do
begin
a : = a mod b;
swap(a, b)
end;
result : = a
end;
procedure redfrac(var a, b: integer); // сокращение дроби
begin
var sgna : = sign(a); // мы должны учитывать знак!
var sgnb : = sign(b); // мы должны учитывать знак!
a : = abs(a);
b : = abs(b);
var d : = gcd(a, b);
a : = (a div d) * sgna;
b : = (b div d) * sgnb
end;
begin
var (p1, q1) : =
readinteger2('дробь 1. введите числитель и знаменатель: ');
var (p2, q2) : =
readinteger2('дробь 2. введите числитель и знаменатель: ');
var p3 : = p1 * q1 + p2 * q2;
var q3 : = q1 * q2;
redfrac(p3, q3);
println(p3, '/', q3)
end.
Поделитесь своими знаниями, ответьте на вопрос:
Напишите программу, которая в последовательности натуральных чисел находит наименьшее число, кратное 3.