Bài 1 nhập vào mảng in ra số đối xứng
bai1.inp | bai2.out |
5 721 34 -10 211 | 5 212 |
Bài 2 in ra ưcln của số thứ nhất và các số còn lại
bai2.inp | bai2.out |
6 8 11 1 12 | 2 1 1 6 |
Bài 3 In ra giá trị giai thừa của nó
bai3.inp | bai3.out |
2 5 1 |
2 120 1 |
Bài 4 In ra số nhỏ nhất và số mũ là các số còn lại
bai4.inp | bai4.out |
2 3 4 2 | 4 8 16 |
Bài 4 rất hay, lúc nào có lời giải mình sẽ gửi cho bạn.
Lời giải :
Đề thiếu ở INP là nhập số lượng phần tử
Bài 1:
program hotrotinhoc;
const fi='bai1.inp';
fo='bai1.out';
var i,n : integer;
f: text;
a: array[1..32000] of integer;
function dn(x: integer): integer;
var s: integer;
begin
dn:=0; s:=0;
while x>0 do
begin
s:=s*10+(x mod 10);
x:= x div 10;
end;
dn:=s;
end;
procedure ip;
begin
assign(f,fi);
reset(f);
readln(f,n);
for i:=1 to n do
read(f,a[i]);
close(f);
end;
procedure out;
begin
assign(f,fo);
rewrite(f);
for i:=1 to n do
if dn(a[i])=a[i] then write(f,a[i],' ');
close(f);
end;
begin
ip;
out;
end.
Lời giải:
Bài 2:
program hotrotinhoc;
const fi='bai2.inp';
fo='bai2.out';
var f: text;
i,n: integer;
a: array[1..32000] of integer;
function ucln(x,y: integer): integer;
var s: integer;
begin
while y<>0 do
begin
s:= x mod y;
x:=y;
y:=s;
end;
ucln:=x;
end;
procedure ip;
begin
assign(f,fi);
reset(f);
readln(f,n);
for i:=1 to n do
read(f,a[i]);
close(f);
end;
procedure out;
begin
assign(f,fo);
rewrite(f);
for i:=2 to n do
write(f,ucln(a[1],a[i]),' ');
close(f);
end;
begin
ip;
out;
end.
Lời giải:
Bài 3:
program hotrotinhoc;
var i,n: integer;
a: array[1..32000] of integer;
function tich(x: integer): integer;
var i,s: integer;
begin
s:=1;
for i:=1 to x do s:=s*i;
tich:=s;
end;
procedure ip;
begin
assign(f,fi);
reset(f);
readln(f,n);
for i:=1 to n do
read(f,a[i]);
close(f);
end;
procedure out;
begin
assign(f,fo);
rewrite(f);
for i:=1 to n do
writeln(f,tich(a[i]);
close(f);
end;
begin
ip;
out;
end.