var ma: array of array of integer; n, m, i, j, max, maxi, maxj: integer; f: text; s, st: string;
begin randomize; readln(n); readln(m); max := -1; setlength(ma, n); for i := 0 to n - 1 do setlength(ma[i], m); writeln('Matrix:'); for i := 0 to n - 1 do begin writeln; for j := 0 to m - 1 do begin ma[i, j] := random(101); write(ma[i, j]:4); if max < ma[i, j] then begin max := ma[i, j]; maxi := i; maxj := j; end; end; end; assign(f, 'text.txt'); rewrite(f); for i := 0 to m - 1 do write(f, ma[maxi, i]:4); writeln(f, ' '); for i := 0 to n - 1 do write(f, ma[i, maxj]:4); close(f); writeln; writeln('File:'); assign(f, 'text.txt'); reset(f); while not Eof(f) do begin; readln(f, st); s := s + st + chr(10) + chr(13); end; close(f); write(s); end.
// PascalABC.NET 3.1, сборка 1204 от 24.03.2016 function IsHamming(n:integer):boolean; begin while n mod 2 = 0 do n:=n div 2; while n mod 3 = 0 do n:=n div 3; while n mod 5 = 0 do n:=n div 5; Result:=(n=1) end;
begin var n:=ReadInteger('n='); var s:int64:=0; var k:=0; var i:=2; while k<>n do begin if IsHamming(i) then begin Inc(k); s+=i; Print(i) end; Inc(i) end; Writeln(NewLine,'Сумма элементов последовательности равна ',s); n:=ReadInteger('Найти элемент с номером'); i:=2; k:=0; while k<>n do begin if IsHamming(i) then Inc(k); Inc(i) end; Writeln('Найденное значение: ',i-1) end.
Тестовое решение: n= 33 2 3 4 5 6 8 9 10 12 15 16 18 20 24 25 27 30 32 36 40 45 48 50 54 60 64 72 75 80 81 90 96 100 Сумма элементов последовательности равна 1257 Найти элемент с номером 1000 Найденное значение: 51840000
var
ma: array of array of integer;
n, m, i, j, max, maxi, maxj: integer;
f: text;
s, st: string;
begin
randomize;
readln(n);
readln(m);
max := -1;
setlength(ma, n);
for i := 0 to n - 1 do
setlength(ma[i], m);
writeln('Matrix:');
for i := 0 to n - 1 do
begin
writeln;
for j := 0 to m - 1 do
begin
ma[i, j] := random(101);
write(ma[i, j]:4);
if max < ma[i, j] then
begin
max := ma[i, j];
maxi := i;
maxj := j;
end;
end;
end;
assign(f, 'text.txt');
rewrite(f);
for i := 0 to m - 1 do
write(f, ma[maxi, i]:4);
writeln(f, ' ');
for i := 0 to n - 1 do
write(f, ma[i, maxj]:4);
close(f);
writeln;
writeln('File:');
assign(f, 'text.txt');
reset(f);
while not Eof(f) do
begin;
readln(f, st);
s := s + st + chr(10) + chr(13);
end;
close(f);
write(s);
end.
Пример ввода:
3
4
Пример вывода:
Matrix:
30 29 3 61
64 4 99 36
45 9 85 19
File:
64 4 99 36
3 99 85