очень нужно 5) Расставьте цифры, помещённые в квадратиках,так, чтобы суммы чисел по любой горизонтали, вертикали и диагонали ( из угла в угол большего квадрата) были равны а) 27; б) 6 А) 888 999 101010 Б) 111 222 333
var a: array[1..2 * n] of real; x, y, l,lmax, lmin: real; i, j, k: integer;
begin writeln('Введите количество точек (не более ', n, ')'); readln(k); writeln('Вводите координаты точек (x,y) попарно'); lmax := 0; lmin := 1e10; for i := 1 to k do begin j := 2 * i - 1; read(a[j], a[j + 1]); l := sqr(a[j]) + sqr(a[j + 1]); //квадратами расстояния до точки if lmax<l then lmax:=l; if lmin>l then lmin:=l end; writeln; writeln('Все точки находятся внутри кольца с радиусами ',sqrt(lmin),', ',sqrt(lmax)) end.
Тестовое решение:
Введите количество точек (не более 10) 5 Вводите координаты точек (x,y) попарно 3 6 2 5 -4 -3 5 7 3 3
Все точки находятся внутри кольца с радиусами 4.24264068711928, 8.60232526704263
n = 10;//предельное количество точек
var
a: array[1..2 * n] of real;
x, y, l,lmax, lmin: real;
i, j, k: integer;
begin
writeln('Введите количество точек (не более ', n, ')');
readln(k);
writeln('Вводите координаты точек (x,y) попарно');
lmax := 0;
lmin := 1e10;
for i := 1 to k do
begin
j := 2 * i - 1;
read(a[j], a[j + 1]);
l := sqr(a[j]) + sqr(a[j + 1]); //квадратами расстояния до точки
if lmax<l then lmax:=l;
if lmin>l then lmin:=l
end;
writeln;
writeln('Все точки находятся внутри кольца с радиусами ',sqrt(lmin),', ',sqrt(lmax))
end.
Тестовое решение:
Введите количество точек (не более 10)
5
Вводите координаты точек (x,y) попарно
3 6 2 5 -4 -3 5 7 3 3
Все точки находятся внутри кольца с радиусами 4.24264068711928, 8.60232526704263
var
i:integer;
begin
for i:=1 to 10000 do // по условиям задачи i:=1 to 999
if (i mod 43 = 41) and (i mod 47 = 43) then
writeln(i);
end.
Результаты вывода:
1030
3051
5072
7093
9114
Так что минимальное число, удовлетворяющее требованиям, 1030, но оно не трехзначное
Вот более продвинутый алгоритм, делающий то же самое:
var
n43:integer;
begin
n43:=127;
repeat
n43:=n43+43;
until (n43 mod 43 = 41) and (n43 mod 47 = 43); //добавить and (n43<1000)
writeln(n43)
end.
Результат вывода:
1030