В первой четверти (x > 0, y > 0) заштрихована четверть окружности с началось в центре координат и радиусом 6. Уравнение этой окружности , тогда точка попадает в заштрихованную область, если . Сюда же можно добавить и отрезок от 0 до 6 по оси абсцисс.
В четвертой четверти (x > 0, y < 0) заштрихован треугольник. Граница проходит через точки (0, -6) и (6, 0), уравнение - линейная функция y = x - 6. Сюда будут попадать точки, для которых y > x - 6.
Собираем условия вместе и можно писать программу.
Код (PascalABC.NET):
begin
var (x, y) := ReadReal2;
if (x > 0) and (y >= 0) and (x * x + y * y < 36) then
Var N,B,k:integer; Begin Write('N = ');ReadLn(N); Write('Искомые числа:'); For N:= 1 to N do Begin B:=N; k:=1; // перед каждой проверкой k:=1 // и если число не делится на любую из своих цифр, то k:=0 While B > 0 do Begin if B mod 10 = 0 then k:=0 // B mod 10 - это остаток от деления B на 10 // то есть, например, 123 mod 10 = 3 else if N mod (B mod 10) > 0 then k:=0; B:=B div 10 // целая часть от деления B на 10 // 123 div 10 = 12 End; if k = 1 then Write(' ',N) End; End.
В первой четверти (x > 0, y > 0) заштрихована четверть окружности с началось в центре координат и радиусом 6. Уравнение этой окружности , тогда точка попадает в заштрихованную область, если . Сюда же можно добавить и отрезок от 0 до 6 по оси абсцисс.
В четвертой четверти (x > 0, y < 0) заштрихован треугольник. Граница проходит через точки (0, -6) и (6, 0), уравнение - линейная функция y = x - 6. Сюда будут попадать точки, для которых y > x - 6.
Собираем условия вместе и можно писать программу.
Код (PascalABC.NET):
begin
var (x, y) := ReadReal2;
if (x > 0) and (y >= 0) and (x * x + y * y < 36) then
write('true')
else if (x > 0) and (y < 0) and (y > x - 6) then
write('true')
else
write('false')
end.
Код (Python 3):
x, y = map(float, input().split())
if x > 0 and y >= 0 and x * x + y * y < 36:
print('true')
elif x > 0 and y < 0 and y > x - 6:
print('true')
else :
print('false')
Пример ввода:
3 5
Пример вывода:
true
Begin
Write('N = ');ReadLn(N);
Write('Искомые числа:');
For N:= 1 to N do
Begin
B:=N;
k:=1;
// перед каждой проверкой k:=1
// и если число не делится на любую из своих цифр, то k:=0
While B > 0 do
Begin
if B mod 10 = 0 then k:=0
// B mod 10 - это остаток от деления B на 10
// то есть, например, 123 mod 10 = 3
else if N mod (B mod 10) > 0 then k:=0;
B:=B div 10
// целая часть от деления B на 10
// 123 div 10 = 12
End;
if k = 1 then Write(' ',N)
End;
End.