Độ bền của một số nguyên không âm n được định nghĩa như sau: - Nếu N có một chữ số thì độ bền của n bằng 0. - Nếu N có từ 2 chữ số trở lên thì độ bền của n bằng độ bền của số nguyên là tích các chữ số của n cộng 1.Yêu cầu: Tìm số bé hơn n có độ bền lớn nhất.
Dứ
liệu: Vào từ file văn bản Doben.inp. Mỗi dòng ghi
một số nguyên dương NKết quả:
Ghi ra file văn bản Doben.out. Mỗi dòng ghi một số tương
ứng tìm được.
Ví dụ:
Với n = 100 thì in ra kết quả: So be hon 100 co do ben lon
nhat la: 77
• Giải thích:
Doben(77)=Doben(49)+1=Doben(36)+1+1=Doben(18)+1+1+1
= Doben(8)+1+1+1+1=0+1+1+1+1=4
• Giải thích:
Doben(77)=Doben(49)+1=Doben(36)+1+1=Doben(18)+1+1+1
= Doben(8)+1+1+1+1=0+1+1+1+1=4
Chương
trình:
Program
Do_ben;
uses crt;
Var
n,d,i,j,max,k:longint;
f1,f2:text;
{----------------------------------------------------------}
Function
TICH(n:Longint):Longint;
Var
t:integer;
Begin
if n=0
then t:=0 else t:=1;
While
n<> 0 do
Begin
t:=t*(n mod 10);
n:=n div 10;
End;
TICH:=t;
End;
{----------------------------------------------------------------}
Begin
assign(f1,'doben.inp');reset(f1);
assign(f2,'doben.out');rewrite(f2);
read(f1,n);
Max:=0;
For i:=1 to
n do
Begin
d:=0;
j:=i;
While
j>9 do
Begin
d:=d+1;
j:=TICH(j);
End;
if
d>=Max then
Begin
max:=d;
k:=i;
End;
End;
write(f2,k);
close(f1);close(f2);
End.
Sign up here with your email
ConversionConversion EmoticonEmoticon