Трехзначные четные числа могут быть получены перечислением трехзначных чисел от 100 до 998 через одно, т.е. 100, 102, 104, ... - это проще и быстрее, чем брать каждое и проверять его на четность.
// PascalABC.NET 3.3, сборка 1607 от 31.12.2017 // Внимание! Если программа не работает, обновите версию!
begin var s:=Range(100,998,2).Where(t->t mod (t div 100 + t mod 10)=0); var i:=0; foreach var n in s do begin Print(n); i+=1; if i=4 then begin i:=0; Writeln end end; if i<>0 then Writeln; end.
procedure MySwap(var a:mas; n:integer); var i,t:integer; begin for i:=1 to n div 2 do begin t:=a[i]; a[i]:=a[n-i+1]; a[n-i+1]:=t end end;
procedure MyPrint(txt:string; a:mas; n:integer); var i:integer; begin Write(txt); for i:=1 to n do Write(a[i],' '); Writeln end;
var i,n:integer; a,b:mas;
begin ClrScr; Write('n='); Readln(n); ClrScr; Randomize; for i:=1 to n do begin a[i]:=Random(10); b[i]:=Random(10) end; MyPrint('Исходный А : ',a,n); MySwap(a,n); MyPrint('Результат А: ',a,n); MyPrint('Исходный B : ',b,n); MySwap(b,n); MyPrint('Результат B: ',b,n); ReadKey end.
// PascalABC.NET 3.3, сборка 1607 от 31.12.2017
// Внимание! Если программа не работает, обновите версию!
begin
var s:=Range(100,998,2).Where(t->t mod (t div 100 + t mod 10)=0);
var i:=0;
foreach var n in s do begin
Print(n); i+=1;
if i=4 then begin i:=0; Writeln end
end;
if i<>0 then Writeln;
end.
Результат
100 102 108 110
120 126 130 132
140 150 160 162
170 180 190 192
196 198 200 204
210 212 216 220
230 232 234 240
250 252 256 260
264 270 272 280
290 292 294 296
300 306 308 330
360 364 390 396
400 402 408 420
424 432 440 460
462 464 468 480
492 500 504 506
510 520 530 532
540 550 560 570
580 590 594 598
600 630 632 636
658 660 672 690
696 700 702 704
770 792 800 804
826 840 848 864
880 896 900 902
918 990
const
nn=100;
type
mas=array[1..nn] of integer;
procedure MySwap(var a:mas; n:integer);
var
i,t:integer;
begin
for i:=1 to n div 2 do begin
t:=a[i]; a[i]:=a[n-i+1]; a[n-i+1]:=t
end
end;
procedure MyPrint(txt:string; a:mas; n:integer);
var
i:integer;
begin
Write(txt);
for i:=1 to n do Write(a[i],' ');
Writeln
end;
var
i,n:integer;
a,b:mas;
begin
ClrScr;
Write('n='); Readln(n);
ClrScr;
Randomize;
for i:=1 to n do begin
a[i]:=Random(10);
b[i]:=Random(10)
end;
MyPrint('Исходный А : ',a,n);
MySwap(a,n);
MyPrint('Результат А: ',a,n);
MyPrint('Исходный B : ',b,n);
MySwap(b,n);
MyPrint('Результат B: ',b,n);
ReadKey
end.