Nguyễn Thị Quyên Kỹ thuật lập trình
BÀI TẬP BÀI 2: HÀM ĐỆ QUI
1. Tìm chữ số có giá trị lớn nhất của số nguyên dương n
2. def tim_sln( ):n
3.   max=0
4.   while n!= :0
5.     du=n%10
6.     :if du max>
7.       max=du
8.     n= //n 10
9.    return max
10. #chuong trinh chinh
11. n= ))int(input('so nguyen duong n la:'
12. max=tim_sln( )n
13. print( )'gia tri lon nhat trong ds:',max
14.
15. #ham de quy
16. def sln_dequy(n,max= ):0
17.   if n== :0
18.     return max
19.   :  else
20.     s= %n 10
21.     if s> :max
22.          max=s
23.     ) return sln_dequy( // ,n 10 max
24.
25. #ham de quy khac
26. def sln( ):n
27.   global max
28.   if n== :0
29.     return 0
30.   :  else
31.     du=n%10
32.     :if du max>
33.         max=du
34.     sln(n// )10
35.     return max
36. #chuong trinh chinh
37. n= ))int(input('so nguyen duong n la:'
38. max=0
39. )print sln('gia tri lon nhat trong ds:',
40.
41. Đếm số lượng chữ số nguyên dương n
42. def dem( ):n
43.   count=0
1
Nguyễn Thị Quyên Kỹ thuật lập trình
44.   while n!= :0
45.     n= //n 10
46.     count+=1
47.   return count
48. #chuong trinh chinh
49. n= ))int(input('so nguyen duong:'
50. )count n=dem(
51. print( , )f'so luong so nguyen n:' count
52.
53. #ham de quy
54. def dem_dequy(n):
55.   global count
56.   if n== :0
57.     return 0
58.   :else
59.     count+=1
60.     dem_dequy( // )n 10
61.   return count
62. #chuong trinh chinh
63. count=0
64. n= ))int(input('so nguyen duong:'
65. print dem_dequy( ,f'so luong so nguyen n:' ( ))n
66.
67. In đảo ngược số n nguyên dương
68. def dao_nguoc_so( ):n
69.   s=''
70.   > :while n 0
71.     = du str( % )n 10
72.     n= //n 10
73.     s= +s du
74.   return s
75. # chuong trinh chinh
76. n= ))int(input('nhap so nguyen n:'
77. print(f"Số5 nguyên dương n sau khi đa:o ngược:", dao_nguoc_so( ))n
78.
79. #ham de quy
80. def dns( , ):n num=0
81.   if n== :0
82.     return num
83.   return dns(n num//10, * +10 n% )10
84. # chuong trinh chinh
85. n= ))int(input('nhap so nguyen n:'
86. kqua=dns( )n
87. print(f"Số5 nguyên dương n sau khi đa:o ngược:",kqua)
88. Tính S(n) = 1 + 1/2 + 1/3 + ... + 1/n với n>0
2
Nguyễn Thị Quyên Kỹ thuật lập trình
def tinh_tong(n):
  = s 0
  , + for i in range(1 n 1):
    += / s 1 i
  return s
# chuong trinh chinh
n = int( (input 'nhap gia tri n: '))
tong = tinh_tong(n)
print("Tố:ng S(n) =", )tong
#ham de quy
def tong_dequy(n):
  if n== :1
    return 1
  :else
    )tong=1/n+tong_dequy(n-1
  return tong
# chuong trinh chinh
n = int( (input 'nhap gia tri n(n>0): '))
print("Tố:ng S(n) =", tong_dequy( ))n
89. Tính S(n)=1+3+5+…+(2.n+1) với n>=0
90. def tt(n):
91.   if n== :0
92.     return 1
93.   :else
94.     )tong n=( )+2*1 tt( -1
95.     return tong
96. #chuong trinh chinh
97. n= ))int(input('nhap n(n>0):'
98. print ('Tong S(n)=',tt(n))
99. Tính P(n)=1.3.5...(2n+1) với n>=0
def nhan( ):n
  if n== :0
    return 1
  :else
    )tich n=(2* +1)+ ( -nhan n 1
    return tich
# chuong trinh chinh
n = int( (input 'nhap so nguyen n(n>0):'))
tich n = nhan( )
print( )"Tich P(n) =", tich
3
Nguyễn Thị Quyên Kỹ thuật lập trình
100. Tính S(n)=1^2+2^2+3^2+....+n^2 với n>0
101. def tong_binh_phuong( ):n
102.   if n== :0
103.     return 0
104.   : else
105.     ) tong=n** (2+tong_binh_phuong n-1
106.     return tong
107. #chuong trinh chinh
108. n = int( (input 'nhap so nguyen n(n>0):'))
109. tong = )tong_binh_phuong(n
110. print("Tố:ng S(n) =", )tong
111.
4

Preview text:

Nguyễn Thị Quyên Kỹ thuật lập trình
BÀI TẬP BÀI 2: HÀM ĐỆ QUI
1. Tìm chữ số có giá trị lớn nhất của số nguyên dương n 2. def tim_sln(n): 3.   max=0 4.   while n!=0: 5.     du=n%10
6.     if du>max:
7.       max=du 8.     n=n//10 9.   return max   10. #chuong trinh chinh 11.
n=int(input('so nguyen duong n la:')) 12. max=tim_sln(n) 13.
print('gia tri lon nhat trong ds:',max) 14. 15. #ham de quy 16. def sln_dequy(n,max=0): 17.   if n==0: 18.     return max 19.   else:   20.     s=n%10 21.     if s>max: 22.
      max=s     23.
    return sln_dequy(n//10,max) 24. 25. #ham de quy khac 26. def sln(n): 27.   global max 28.   if n==0: 29.     return 0 30.   else:   31.     du=n%10 32.     if du>max: 33.
      max=du    34.     sln(n//10) 35.     return max  36. #chuong trinh chinh 37.
n=int(input('so nguyen duong n la:')) 38. max=0 39.
print('gia tri lon nhat trong ds:',sln) 40.
41. Đếm số lượng chữ số nguyên dương n 42. def dem(n): 43.   count=0 1 N guyễn Thị Quyên K ỹ thuật lập trình 44.   while n!=0: 45.     n=n//10 46.     count+=1 47.   return count 48. #chuong trinh chinh 49.
n=int(input('so nguyen duong:')) 50. count=dem(n) 51.
print(f'so luong so nguyen n:',count) 52. 53. #ham de quy 54. def dem_dequy(n): 55.   global count 56.   if n==0: 57.     return 0 58.   else: 59.     count+=1 60.
    dem_dequy(n//10) 61.   return count  62. #chuong trinh chinh 63. count=0 64.
n=int(input('so nguyen duong:')) 65.
print(f'so luong so nguyen n:',dem_dequy(n)) 66.
67. In đảo ngược số n nguyên dương 68. def dao_nguoc_so(n): 69.   s='' 70.   while n > 0: 71.     du = str(n%10) 72.     n=n//10 73.     s=s+du 74.   return s 75. # chuong trinh chinh 76.
n=int(input('nhap so nguyen n:')) 77. print(f"Số5 nguyên dương n sau khi đa
:o ngược:", dao_nguoc_so(n)) 78. 79. #ham de quy 80. def dns(n,num=0): 81.   if n==0: 82.     return num 83.
  return dns(n//10,num*10+n%10) 84. # chuong trinh chinh 85.
n=int(input('nhap so nguyen n:')) 86. kqua=dns(n) 87. print(f"Số5 nguyên dương n sau khi đa :o ngược:",kqua)
88. Tính S(n) = 1 + 1/2 + 1/3 + ... + 1/n với n>0 2 N guyễn Thị Quyên K ỹ thuật lập trình def tinh_tong(n):   s = 0
  for i in range(1, n + 1):     s += 1 / i   return s # chuong trinh chinh
n = int(input('nhap gia tri n: ')) tong = tinh_tong(n) print("Tố: ng S(n) =", tong) #ham de quy def tong_dequy(n):   if n==1:     return 1   else:
    tong=1/n+tong_dequy(n-1)   return tong # chuong trinh chinh
n = int(input('nhap gia tri n(n>0): ')) print("Tố: ng S(n) =", tong_dequy(n))
89. Tính S(n)=1+3+5+…+(2.n+1) với n>=0 90. def tt(n): 91.   if n==0: 92.     return 1 93.   else: 94.
    tong=(2*1)+tt(n-1) 95.     return tong 96. #chuong trinh chinh 97.
n=int(input('nhap n(n>0):')) 98. print ('Tong S(n)=',tt(n))
99. Tính P(n)=1.3.5...(2n+1) với n>=0 def nhan(n):   if n==0:     return 1   else:
    tich=(2*n+1)+nhan(n-1)     return tich # chuong trinh chinh
n = int(input('nhap so nguyen n(n>0):')) tich = nhan(n) print("Tich P(n) =", tich) 3 N guyễn Thị Quyên K ỹ thuật lập trình 100.
Tính S(n)=1^2+2^2+3^2+....+n^2 với n>0 101. def tong_binh_phuong(n): 102.   if n==0: 103.     return 0 104.   else:
105.     tong=n**2+tong_binh_phuong(n-1) 
106.     return tong 107. #chuong trinh chinh
108. n = int(input('nhap so nguyen n(n>0):'))
109. tong = tong_binh_phuong(n) 110. print("Tố: ng S(n) =", tong) 111. 4