Chương trình python này sử dụng vòng lặp while để tìm tổng các số tự nhiên. Chúng ta sẽ lấy một số tự nhiên khi khai báo các biến. Chương trình Python tìm tổng n số tự nhiên bằng vòng lặp while và cuối cùng, kết quả sẽ được hiển thị trên màn hình
# Python program to find sum of n natural numbers # take input num = int(input('Enter a number: ')) # find sum of natural number sum = 0 x = 1 while x <= num: sum += x x += 1 # display result print('The sum of natural number =', sum)Đầu ra cho các giá trị đầu vào khác nhau. -
Nhập một số. 5
Tổng các số tự nhiên = 15
Nhập một số. 10
Tổng các số tự nhiên = 55
Nhập một số. 239
Tổng của số tự nhiên = 28680
Chương trình Python để tìm tổng của N số tự nhiên bằng vòng lặp For
Trong chương trình trước, chúng ta sẽ sử dụng vòng lặp while nhưng trong chương trình này, tìm tổng của n số tự nhiên bằng vòng lặp for
# Python program to find sum of n natural numbers # take input num = int(input('Enter a number: ')) # find sum of natural number sum = 0 for x in range (1, num+1): sum += x # display result print('The sum of natural number =', sum)đầu ra. -
Nhập một số. 25
Tổng các số tự nhiên = 325
Tìm Tổng của N Số Tự nhiên bằng Hàm
Chúng ta cũng có thể nhờ sự trợ giúp của một hàm do người dùng định nghĩa. Hàm là một khối mã thực hiện một tác vụ cụ thể
# Python program to find sum of n natural numbers using function def findSum(num): #user-defined function sum = 0 x = 1 while x <= num: sum += x x += 1 return sum # take input num = int(input('Enter a number: ')) # display result print('The sum of natural number =', findSum(num))đầu ra. -
Nhập một số. 83
Tổng của số tự nhiên = 3486
Tính tổng N số tự nhiên sử dụng đệ quy
Ta cũng có thể sử dụng phương pháp đệ quy để tìm tổng của n số tự nhiên. Một kỹ thuật xác định phương thức/hàm chứa lệnh gọi đến chính nó được gọi là đệ quy. Hàm/phương thức đệ quy cho phép chúng ta chia vấn đề phức tạp thành các trường hợp đơn giản giống hệt nhau có thể xử lý dễ dàng. Đây cũng là một kỹ thuật lập trình máy tính nổi tiếng. phân chia và chinh phục
# Python program to find sum of n natural numbers using recursion def findSum(num): #user-defined function if(num == 0): return num else: return (num + findSum(num - 1)) # take input num = int(input('Enter a number: ')) # display result print('The sum of natural number =', findSum(num))đầu ra. -
Nhập một số. 325
Tổng của số tự nhiên = 52975
Nhập một số. 1000
Lỗi runtime. độ sâu đệ quy tối đa vượt quá so với
Chương trình hiệu quả khác
Chương trình python này rất nhỏ và dễ hiểu. Trong chương trình này, chúng ta sẽ chỉ sử dụng một công thức để tìm tổng các số tự nhiên
Công thức. - n * (n+1) / 2
ví dụ. -
1+2+3+4+5+6 = 6 * (6+1) / 2 = 3 * 7 = 21
1+2+3+4+5+6+7+8+9+10 = 10 * (10+1) / 2 = 5 * 11 = 55
Chương trình khác
Chương trình trên gây ra lỗi tràn, ngay cả khi kết quả không vượt quá giới hạn số nguyên. Chúng ta có thể tránh tràn ở một mức độ nào đó bằng cách thực hiện phép chia trước
# Python program to find sum of n natural numbers def findSum(num): #user-defined function if (num % 2 == 0) : return (num/2) * (num+1) # If num is odd, (n+1) must be even else : return ((num+1) / 2) * num # take input num = int(input('Enter a number: ')) # display result print('The sum of natural number =', findSum(num))Cũng thấy. - Tổng các chữ số của một số trong Python
Nếu bạn thích bài đăng này, hãy chia sẻ nó với bạn bè của bạn. Bạn có muốn chia sẻ thêm thông tin về chủ đề đã thảo luận ở trên hay bạn có thấy điều gì không đúng không? . Cảm ơn bạn
304_______7_______7 We know, (k + 1)3 = k3 + 3 * k2 + 3 * k + 1 We can write the above identity for k from 1 to n: 23 = 13 + 3 * 12 + 3 * 1 + 1 ........ (1) 33 = 23 + 3 * 22 + 3 * 2 + 1 ........ (2) 43 = 33 + 3 * 32 + 3 * 3 + 1 ........ (3) 53 = 43 + 3 * 42 + 3 * 4 + 1 ........ (4) ... n3 = (n - 1)3 + 3 * (n - 1)2 + 3 * (n - 1) + 1 ........ (n - 1) (n + 1)3 = n3 + 3 * n2 + 3 * n + 1 ........ (n) Putting equation (n - 1) in equation n, (n + 1)3 = (n - 1)3 + 3 * (n - 1)2 + 3 * (n - 1) + 1 + 3 * n2 + 3 * n + 1 = (n - 1)3 + 3 * (n2 + (n - 1)2) + 3 * ( n + (n - 1) ) + 1 + 1 By putting all equation, we get (n + 1)3 = 13 + 3 * Σ k2 + 3 * Σ k + Σ 1 n3 + 3 * n2 + 3 * n + 1 = 1 + 3 * Σ k2 + 3 * (n * (n + 1))/2 + n n3 + 3 * n2 + 3 * n = 3 * Σ k2 + 3 * (n * (n + 1))/2 + n n3 + 3 * n2 + 2 * n - 3 * (n * (n + 1))/2 = 3 * Σ k2 n * (n2 + 3 * n + 2) - 3 * (n * (n + 1))/2 = 3 * Σ k2 n * (n + 1) * (n + 2) - 3 * (n * (n + 1))/2 = 3 * Σ k2 n * (n + 1) * (n + 2 - 3/2) = 3 * Σ k2 n * (n + 1) * (2 * n + 1)/2 = 3 * Σ k2 n * (n + 1) * (2 * n + 1)/6 = Σ k28We know, (k + 1)3 = k3 + 3 * k2 + 3 * k + 1 We can write the above identity for k from 1 to n: 23 = 13 + 3 * 12 + 3 * 1 + 1 ........ (1) 33 = 23 + 3 * 22 + 3 * 2 + 1 ........ (2) 43 = 33 + 3 * 32 + 3 * 3 + 1 ........ (3) 53 = 43 + 3 * 42 + 3 * 4 + 1 ........ (4) ... n3 = (n - 1)3 + 3 * (n - 1)2 + 3 * (n - 1) + 1 ........ (n - 1) (n + 1)3 = n3 + 3 * n2 + 3 * n + 1 ........ (n) Putting equation (n - 1) in equation n, (n + 1)3 = (n - 1)3 + 3 * (n - 1)2 + 3 * (n - 1) + 1 + 3 * n2 + 3 * n + 1 = (n - 1)3 + 3 * (n2 + (n - 1)2) + 3 * ( n + (n - 1) ) + 1 + 1 By putting all equation, we get (n + 1)3 = 13 + 3 * Σ k2 + 3 * Σ k + Σ 1 n3 + 3 * n2 + 3 * n + 1 = 1 + 3 * Σ k2 + 3 * (n * (n + 1))/2 + n n3 + 3 * n2 + 3 * n = 3 * Σ k2 + 3 * (n * (n + 1))/2 + n n3 + 3 * n2 + 2 * n - 3 * (n * (n + 1))/2 = 3 * Σ k2 n * (n2 + 3 * n + 2) - 3 * (n * (n + 1))/2 = 3 * Σ k2 n * (n + 1) * (n + 2) - 3 * (n * (n + 1))/2 = 3 * Σ k2 n * (n + 1) * (n + 2 - 3/2) = 3 * Σ k2 n * (n + 1) * (2 * n + 1)/2 = 3 * Σ k2 n * (n + 1) * (2 * n + 1)/6 = Σ k29 300301302303304302306
307We know, (k + 1)3 = k3 + 3 * k2 + 3 * k + 1 We can write the above identity for k from 1 to n: 23 = 13 + 3 * 12 + 3 * 1 + 1 ........ (1) 33 = 23 + 3 * 22 + 3 * 2 + 1 ........ (2) 43 = 33 + 3 * 32 + 3 * 3 + 1 ........ (3) 53 = 43 + 3 * 42 + 3 * 4 + 1 ........ (4) ... n3 = (n - 1)3 + 3 * (n - 1)2 + 3 * (n - 1) + 1 ........ (n - 1) (n + 1)3 = n3 + 3 * n2 + 3 * n + 1 ........ (n) Putting equation (n - 1) in equation n, (n + 1)3 = (n - 1)3 + 3 * (n - 1)2 + 3 * (n - 1) + 1 + 3 * n2 + 3 * n + 1 = (n - 1)3 + 3 * (n2 + (n - 1)2) + 3 * ( n + (n - 1) ) + 1 + 1 By putting all equation, we get (n + 1)3 = 13 + 3 * Σ k2 + 3 * Σ k + Σ 1 n3 + 3 * n2 + 3 * n + 1 = 1 + 3 * Σ k2 + 3 * (n * (n + 1))/2 + n n3 + 3 * n2 + 3 * n = 3 * Σ k2 + 3 * (n * (n + 1))/2 + n n3 + 3 * n2 + 2 * n - 3 * (n * (n + 1))/2 = 3 * Σ k2 n * (n2 + 3 * n + 2) - 3 * (n * (n + 1))/2 = 3 * Σ k2 n * (n + 1) * (n + 2) - 3 * (n * (n + 1))/2 = 3 * Σ k2 n * (n + 1) * (n + 2 - 3/2) = 3 * Σ k2 n * (n + 1) * (2 * n + 1)/2 = 3 * Σ k2 n * (n + 1) * (2 * n + 1)/6 = Σ k23_______7_______4 We know, (k + 1)3 = k3 + 3 * k2 + 3 * k + 1 We can write the above identity for k from 1 to n: 23 = 13 + 3 * 12 + 3 * 1 + 1 ........ (1) 33 = 23 + 3 * 22 + 3 * 2 + 1 ........ (2) 43 = 33 + 3 * 32 + 3 * 3 + 1 ........ (3) 53 = 43 + 3 * 42 + 3 * 4 + 1 ........ (4) ... n3 = (n - 1)3 + 3 * (n - 1)2 + 3 * (n - 1) + 1 ........ (n - 1) (n + 1)3 = n3 + 3 * n2 + 3 * n + 1 ........ (n) Putting equation (n - 1) in equation n, (n + 1)3 = (n - 1)3 + 3 * (n - 1)2 + 3 * (n - 1) + 1 + 3 * n2 + 3 * n + 1 = (n - 1)3 + 3 * (n2 + (n - 1)2) + 3 * ( n + (n - 1) ) + 1 + 1 By putting all equation, we get (n + 1)3 = 13 + 3 * Σ k2 + 3 * Σ k + Σ 1 n3 + 3 * n2 + 3 * n + 1 = 1 + 3 * Σ k2 + 3 * (n * (n + 1))/2 + n n3 + 3 * n2 + 3 * n = 3 * Σ k2 + 3 * (n * (n + 1))/2 + n n3 + 3 * n2 + 2 * n - 3 * (n * (n + 1))/2 = 3 * Σ k2 n * (n2 + 3 * n + 2) - 3 * (n * (n + 1))/2 = 3 * Σ k2 n * (n + 1) * (n + 2) - 3 * (n * (n + 1))/2 = 3 * Σ k2 n * (n + 1) * (n + 2 - 3/2) = 3 * Σ k2 n * (n + 1) * (2 * n + 1)/2 = 3 * Σ k2 n * (n + 1) * (2 * n + 1)/6 = Σ k23304 302303 304
304
304_______6_______7 We know, (k + 1)3 = k3 + 3 * k2 + 3 * k + 1 We can write the above identity for k from 1 to n: 23 = 13 + 3 * 12 + 3 * 1 + 1 ........ (1) 33 = 23 + 3 * 22 + 3 * 2 + 1 ........ (2) 43 = 33 + 3 * 32 + 3 * 3 + 1 ........ (3) 53 = 43 + 3 * 42 + 3 * 4 + 1 ........ (4) ... n3 = (n - 1)3 + 3 * (n - 1)2 + 3 * (n - 1) + 1 ........ (n - 1) (n + 1)3 = n3 + 3 * n2 + 3 * n + 1 ........ (n) Putting equation (n - 1) in equation n, (n + 1)3 = (n - 1)3 + 3 * (n - 1)2 + 3 * (n - 1) + 1 + 3 * n2 + 3 * n + 1 = (n - 1)3 + 3 * (n2 + (n - 1)2) + 3 * ( n + (n - 1) ) + 1 + 1 By putting all equation, we get (n + 1)3 = 13 + 3 * Σ k2 + 3 * Σ k + Σ 1 n3 + 3 * n2 + 3 * n + 1 = 1 + 3 * Σ k2 + 3 * (n * (n + 1))/2 + n n3 + 3 * n2 + 3 * n = 3 * Σ k2 + 3 * (n * (n + 1))/2 + n n3 + 3 * n2 + 2 * n - 3 * (n * (n + 1))/2 = 3 * Σ k2 n * (n2 + 3 * n + 2) - 3 * (n * (n + 1))/2 = 3 * Σ k2 n * (n + 1) * (n + 2) - 3 * (n * (n + 1))/2 = 3 * Σ k2 n * (n + 1) * (n + 2 - 3/2) = 3 * Σ k2 n * (n + 1) * (2 * n + 1)/2 = 3 * Σ k2 n * (n + 1) * (2 * n + 1)/6 = Σ k23
309
# Python3 Program to0We know, (k + 1)3 = k3 + 3 * k2 + 3 * k + 1 We can write the above identity for k from 1 to n: 23 = 13 + 3 * 12 + 3 * 1 + 1 ........ (1) 33 = 23 + 3 * 22 + 3 * 2 + 1 ........ (2) 43 = 33 + 3 * 32 + 3 * 3 + 1 ........ (3) 53 = 43 + 3 * 42 + 3 * 4 + 1 ........ (4) ... n3 = (n - 1)3 + 3 * (n - 1)2 + 3 * (n - 1) + 1 ........ (n - 1) (n + 1)3 = n3 + 3 * n2 + 3 * n + 1 ........ (n) Putting equation (n - 1) in equation n, (n + 1)3 = (n - 1)3 + 3 * (n - 1)2 + 3 * (n - 1) + 1 + 3 * n2 + 3 * n + 1 = (n - 1)3 + 3 * (n2 + (n - 1)2) + 3 * ( n + (n - 1) ) + 1 + 1 By putting all equation, we get (n + 1)3 = 13 + 3 * Σ k2 + 3 * Σ k + Σ 1 n3 + 3 * n2 + 3 * n + 1 = 1 + 3 * Σ k2 + 3 * (n * (n + 1))/2 + n n3 + 3 * n2 + 3 * n = 3 * Σ k2 + 3 * (n * (n + 1))/2 + n n3 + 3 * n2 + 2 * n - 3 * (n * (n + 1))/2 = 3 * Σ k2 n * (n2 + 3 * n + 2) - 3 * (n * (n + 1))/2 = 3 * Σ k2 n * (n + 1) * (n + 2) - 3 * (n * (n + 1))/2 = 3 * Σ k2 n * (n + 1) * (n + 2 - 3/2) = 3 * Σ k2 n * (n + 1) * (2 * n + 1)/2 = 3 * Σ k2 n * (n + 1) * (2 * n + 1)/6 = Σ k24 # Python3 Program to2
# Python3 Program to3_______48_______4
# Python3 Program to5
đầu ra
30Phương pháp 2. O(1)
trăn3
# Python3 Program to
# find sum of square
# of first n natural
# numbers
# Return the sum of
300
301
302 303
304_______6_______7 # find sum of square7303 # find sum of square7304 302# of first n natural2# numbers1 # of first n natural5# of first n natural2303 301# of first n natural5 303 # Python3 Program to0304 302_______55_______2_______56_______1 ________6_____6_______1