Bài 17: Chương trình con và phân loại

LH

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

ML
21 tháng 8 2019 lúc 21:11

Bài 4 rất hay, lúc nào có lời giải mình sẽ gửi cho bạn.

Bình luận (5)
ML
21 tháng 8 2019 lúc 20:14

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.

Bình luận (3)
ML
21 tháng 8 2019 lúc 20:31

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.

Bình luận (1)
ML
21 tháng 8 2019 lúc 20:42

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.

Bình luận (5)

Các câu hỏi tương tự
LH
Xem chi tiết
LH
Xem chi tiết
LH
Xem chi tiết
LH
Xem chi tiết
LQ
Xem chi tiết
GA
Xem chi tiết
HN
Xem chi tiết
H24
Xem chi tiết
H24
Xem chi tiết