{ Вывести в 10 столбиков все шестизначные числа которые деляться без остатка на сумму квадратов своих цифр }
program p1;
var fx: integer;// счетчик всех 6-ти значных чисел i, j, k: byte;// счетчики ax, bx: integer;// вычисления sum: integer;// сумма квадратов цифр числа
begin
k := 1;// столбики for fx := 100000 to 999999 do begin sum := 0; //сумма квадратов for j := 6 downto 1 do begin ax := 1; for i := 1 to j - 1 do ax := 10 * ax;
bx := (fx div ax) mod 10; //вычленение отдельных цифр bx := bx * bx; //квадрат цифры
sum := sum + bx; end;
if (fx div sum) = (fx / sum) then if (k < 11) then begin write(fx, ' '); k := k + 1; end else begin writeln; k := 1; end; end;
Program ZAD00; {} uses crt; var a,b:array[1..20] of real; i:integer; mina,minb,s:real; Begin { заполнение массива А} for i:=1 to 7 do begin write('введите элементы a[',i,']='); read(a[i]); end; { заполнение массива B} for i:=1 to 9 do begin write('введите элементы b[',i,']='); read(b[i]); end; { min в массиве А} mina:=a[1]; for i:=1 to 7 do begin a[8]:= 32767 ; if (a[i]>= a[i+1]) and (a[i+1]<=mina) then mina:=a[i+1] end; { min в массиве B} minb:=b[1]; for i:=1 to 9 do begin b[10]:=32767; if (b[i]>= b[i+1]) and (b[i+1]<=minb) then minb:=b[i+1] end; { сложение minA и minB} s:=mina+minb; { вывод результатов на экран for i:=1 to 7 do begin write(a[i],' '); writeln; end; for i:=1 to 9 do begin write(b[i],' '); writeln; end; writeln('minA=',mina); writeln('minB=',minb); writeln('сумма их s=', s); End.
Не трудно, но не полностью условие выполнено. Лови решение:
program arrs; var a : array[1..26] of integer; i, min, max : integer; m1, m2 : byte;
begin randomize; for i:=1 to 26 do begin a[i] := random(29)-15; write(a[i], ' '); end; min := 15; max := -20; for i:=1 to 26 do begin if a[i] < min then begin min:=a[i]; m1 := i; end; if a[i] > max then begin max:=a[i]; m2 := i; end; end; writeln; writeln('Минимальный элемент в ячейке ', m1, ' равен ', min); writeln('Максимальный элемент в ячейке ', m2, ' равен ', max); end.
тестовый прогон:
0 2 -1 2 -9 -13 -9 -5 0 -14 11 6 8 -11 13 3 -15 -6 -15 -14 -3 13 9 7 3 -4 Минимальный элемент в ячейке 17 равен -15 Максимальный элемент в ячейке 15 равен 13
Вывести в 10 столбиков все шестизначные числа которые деляться без остатка на сумму квадратов своих цифр
}
program p1;
var
fx: integer;// счетчик всех 6-ти значных чисел
i, j, k: byte;// счетчики
ax, bx: integer;// вычисления
sum: integer;// сумма квадратов цифр числа
begin
k := 1;// столбики
for fx := 100000 to 999999 do
begin
sum := 0; //сумма квадратов
for j := 6 downto 1 do
begin
ax := 1;
for i := 1 to j - 1 do
ax := 10 * ax;
bx := (fx div ax) mod 10; //вычленение отдельных цифр
bx := bx * bx; //квадрат цифры
sum := sum + bx;
end;
if (fx div sum) = (fx / sum) then
if (k < 11) then begin
write(fx, ' ');
k := k + 1;
end else begin
writeln;
k := 1;
end;
end;
end.