Viết chương trình python tính tổng n số tự nhiên đầu tiên

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

# Python program to find sum of n natural numbers def findSum(num): #user-defined function return num * (num+1) / 2 # take input num = int(input('Enter a number: ')) # display result print('The sum of natural number =', findSum(num))

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

30

Phương pháp 2. O(1)

Chứng minh.

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 = Σ k2

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

Làm cách nào để tìm tổng n số tự nhiên đầu tiên trong Python bằng vòng lặp while?

Xem ví dụ này. .
num = int(input("Nhập một số. "))
nếu số < 0
print("Nhập số dương")
tổng = 0
# sử dụng vòng lặp while để lặp từ đầu đến cuối
trong khi(số > 0)
tổng += số

Công thức tính tổng n số tự nhiên đầu tiên là gì?

S n = n(n+1)/2 .

Chủ đề