Bài 1. Số bền
Năm 1973, nhà Toán học Neil Sloan đưa ra khái niệm độ bền của một số nguyên không âm N 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.
Cho N, tính độ bền của N.
Dữ liệu vào từ file văn bản: persist.inp
Dòng 1: Số nguyên N (0 ≤ N ≤ 2.000.000.000).
Kết quả ghi ra file văn bản: persist.out
Dòng 1: Số nguyên là độ bền của N.
Ví dụ
persist.inp
persist.out
VD:
99
2
GIải thích: Doben(99)=Doben(81)+1=Doben(8)+1+1=0+1+1=2
Đối với bài này em dùng đệ quy để giải các bác sem có sai sót gì không nhá !!
Mã:
Program SOBEN;
Var n,i,TICH,f,e:Integer;
Str1:String;
function PHANTICH(n:Integer):Integer;
Begin
Str(n,Str1);
TICH:=1;
for i:=1 to length(Str1) do
Begin
Val(Str1[i],f,e);
TICH:=TICH*f;
End;
PHANTICH:=TICH;
End;
function DOBEN(n:Integer):Integer;
Begin
if n<10 then DOBEN:=0
else
DOBEN:=DOBEN(PHANTICH(n))+1;
End;
BEGIN
Write('Nhap vao so n: ');
Readln(n);
Write(DOBEN(n));
END.
Bạn đang tìm kiếm giải pháp vận chuyển và nâng hạ hàng hoá máy móc nặng cho dự án hay công việc của mình tại khu vực Mỹ Phước - Bình Dương? Chúng tôi tự hào giới thiệu dịch vụ cho thuê xe cẩu tại Mỹ...
Dịch vụ cho thuê xe cẩu tại Mỹ Phước từ 3 tấn 120 tấn