{Задачу можно решать несколькими Одним из возможных является перебор всех четырехзначных чисел и проверка для каждого из них выполнения условий. Попробуем сократить перебор, для этого преобразуем второе условие: 10а+b-(10c+d)=a+b+c+d; 9(a-c)=2(c+d); (a-c)/(c+d)=2/9 Проанализировав первое условие, получаем, что а=с+2, d=9-c, следовательно 0<=c<=7.}
program prim4; uses crt; var a,b,c,d: integer; begin clrscr; for c:=0 to 7 do begin a:=c+2; d;=9-c; for b:=0 to 9 do begin if (b<>c)and(b<>a)and(b<>d) then write(a,b,c,d); writeln end; end; readln; end.
{Таким образом, мы решили задачу, значительно сократив перебор.}
Const N=10; var i, j: byte; n1, n2: array [1..N] of integer; begin j := 1; for i := 1 to N do begin n1[i] := random(100); writeln('n1[', i, '] => ', n1[i]); end; writeln(''); for i := 1 to N do begin if (n1[i] mod 2 = 0) then begin n2[j] := n1[i]; inc(j); n1[i] := n1[i] * 2; end; end; for i := 1 to N do writeln('n1[', i, '] => ', n1[i]); for i := 1 to j do writeln('n2[', i, '] => ', n2[i]); end.
10а+b-(10c+d)=a+b+c+d;
9(a-c)=2(c+d);
(a-c)/(c+d)=2/9
Проанализировав первое условие, получаем, что а=с+2, d=9-c, следовательно 0<=c<=7.}
program prim4;
uses crt;
var a,b,c,d: integer;
begin
clrscr;
for c:=0 to 7 do
begin
a:=c+2; d;=9-c;
for b:=0 to 9 do
begin
if (b<>c)and(b<>a)and(b<>d)
then
write(a,b,c,d);
writeln
end;
end;
readln;
end.
{Таким образом, мы решили задачу, значительно сократив перебор.}
var i, j: byte;
n1, n2: array [1..N] of integer;
begin
j := 1;
for i := 1 to N do
begin
n1[i] := random(100);
writeln('n1[', i, '] => ', n1[i]);
end;
writeln('');
for i := 1 to N do
begin
if (n1[i] mod 2 = 0) then
begin
n2[j] := n1[i];
inc(j);
n1[i] := n1[i] * 2;
end;
end;
for i := 1 to N do
writeln('n1[', i, '] => ', n1[i]);
for i := 1 to j do
writeln('n2[', i, '] => ', n2[i]);
end.
Если я правильно понял, то вот так =)