Viết hàm Python đệ quy trả về tổng của n số nguyên đầu tiên.

Hàm đệ quy tính tổng n số nguyên tự nhiên đầu tiên
S=1+2+3+4+...+n
với n=5 thì tổng s=15
Cách 1:
def sum_n(n):
    if n==0 :
        return 0
    else:
        return  n + sum_n(n - 1)
n=int(input("Nhập số tự nhiên n= "))
print(sum_n(n))
Cách 2:
def sum_n(n, s):
    global num
    if n == num +1:
        return s
    else:
        return sum_n(n+1, s + n)
num=int(input("Nhập số tự nhiên n= "))
print(sum_n(1,0))
Cách 3. Xử lí yêu cầu nhập lại giá trị n khi đầu vào không hợp lệ
#Dinh nghia ham
def tinh_tong(n):
   if n:
       return n + tinh_tong(n-1)
   return 0
n = int(input("Nhập số tự nhiên n= "))
# Khoi lenh xu lí loi
while n<=0:
    print("Đầu vào không hơp lệ")        
    n = int(input("Nhập số tự nhiên n= "))
# Goi ham tinh tong
print(tinh_tong(n))
Next Post Previous Post
No Comment
Add Comment
comment url