Thứ Sáu, 16 tháng 11, 2012

VÍ DỤ VỀ ĐỆ QUY TRONG LẬP TRÌNH


TÍNH  N!
  • Mô tả
-n! (n giai thừa) là tích các số từ 1 cho đến chính nó. 
-nghĩa là n!=1*2*3*...(n-1)*n;
ví dụ: 6!=1*2*3*4*5*6=720;
  • Bài toán đặt ra:
Tính F(x)   với   1<=x<=500
Cho hàm F(x), x ≥ 0 được định nghĩa như sau:
F(x) = S(x)!
Trong đó S(x): tổng các chữ số của x.

  • Cách giải đề xuất:

Ở đây mình muốn ví dụ với các bạn về đệ quy do đó mình sẽ viết hàm giai thừa theo đệ quy:
đệ quy của giai thừa là gì?
          +  1!=1;
          +  n!=n*(n-1)! lặp cho đến khi n=1;
    nghĩa là: ví dụ 3! thì 3!=3*2! 
                              mà 2!=2*1! 
                              mà 1!=1 
                            ==> 3!=3*2*1 = 6
- tính tổng các chữ số của số x:
   ví dụ 456 thì S(456)=15
   vậy chúng ta chỉ cần lặp đi lặp lại quá trình sau cho đến khi x=0
                           + s=s+(x % 10)  //   (x%10)=x mod 10: lấy phần dư của phép chia x cho 10 
                           + x= (x /10)       // (x/10) theo C/C++ là phép chia nguyên do đó sẽ = x div 10
  • Bài giải tham khảo: 


Không có nhận xét nào:

Đăng nhận xét