Mạng máy tính và internet

Lục Hạ Vy

Người ta thường dùng các vạch để viết các số như sau: Số 0 dùng 6 vạch, số 1 dùng 2 vạch....

Bài tập: Cho số nguyên dương N(N<=109)

a) Hãy tính số vạch cần dùng để viết số N?

b) Tìm chữ số lớn nhất trong số N

c) Kiểm tra N là số có các chữ số tăng dần, giảm dần hay không tăng, không giảm

Dữ liệu vào: Từ tệp DT.inp chứa 1 số nguyên dương N gồm 1 dòng duy nhất

Dữ liệu ra: Ghi vào tệp DT.out gồm 3 dòng:

+D1: Số vạch cần tìm để viết số N điện tử

+D2: Chữ số lớn nhất trong N

+D3: Ghi T nếu N là số có các chữ số tăng dần, ghi L nếu N là số có các chữ số giảm dần, ghi 0 nếu N là số không tăng, không giảm

Nguyễn Lê Phước Thịnh
12 tháng 12 2019 lúc 22:22

uses crt;
const fi='dt.inp';
fo='dt.out';
var n,i,d,x,t,ln,kt:integer;
st:string;
a:array[1..100]of integer;
f1,f2:text;
begin
clrscr;
assign(f1,fi); reset(f1);
assign(f2,fo); rewrite(f2);
readln(f1,n);
{-------------------------cau-a-----------------------}
str(n,st);
d:=length(st);
for i:=1 to d do
val(st[i],a[i],x);
t:=0;
for i:=1 to d do
begin
if a[i]=0 then t:=t+6;
if a[i]=1 then t:=t+2;
if a[i]=2 then t:=t+5;
if a[i]=3 then t:=t+5;
if a[i]=4 then t:=t+4;
if a[i]=5 then t:=t+5;
if a[i]=6 then t:=t+6;
if a[i]=7 then t:=t+3;
if a[i]=8 then t:=t+7;
if a[i]=9 then t:=t+6;
end;
writeln(f2,t);
{-----------------------cau-b---------------------------}
ln:=a[1];
for i:=1 to d do
if ln<a[i] then ln:=a[i];
writeln(f2,ln);
{--------------------cau-c-------------------------------}
kt:=0;
for i:=1 to d-1 do
if a[i]>a[i+1] then kt:=1;
if kt=0 then writeln(f2,'T')
else begin
kt:=0;
for i:=1 to d-1 do
if a[i]<a[i+1] then kt:=1;
if kt=0 then writeln(f2,'L')
else writeln(f2,'0');
end;
close(f1);
close(f2);
readln;
end.

Bình luận (0)
 Khách vãng lai đã xóa

Các câu hỏi tương tự
Nhật Nguyễn
Xem chi tiết
Doãn Hoài Trang
Xem chi tiết
helpme
Xem chi tiết
hoàng đá thủ
Xem chi tiết
helpme
Xem chi tiết
Doãn Hoài Trang
Xem chi tiết
helpme
Xem chi tiết
Moeo Con
Xem chi tiết
helpme
Xem chi tiết