



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