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

lê chí hiếu

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

Minh Lệ
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)
Minh Lệ
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)
Minh Lệ
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)
Minh Lệ
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ự
lê chí hiếu
Xem chi tiết
lê chí hiếu
Xem chi tiết
lê chí hiếu
Xem chi tiết
lê chí hiếu
Xem chi tiết
Lân Trần Quốc
Xem chi tiết
Golem
Xem chi tiết
Hải Ngọc
Xem chi tiết
Tin6
Xem chi tiết
Trường
Xem chi tiết