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

30
4_______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  = Σ k2
8
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
9
30
0
30
1
30
2
30
3
30
4
30
2
30
6

30
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  = Σ k2
3_______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  = Σ k2
3
30
4
30
2
30
3
30
4

30
4

30
4_______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  = Σ k2
3

 

30
9

# Python3 Program to0

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
4 # Python3 Program to2

# Python3 Program to3_______48_______4

 

# Python3 Program to5

đầu ra

30

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

Viết chương trình python tính tổng n số tự nhiên đầu tiên
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

30
0

30
1

30
2
30
3

30
4_______6_______7 # find sum of square7
30
3 # find sum of square7
30
4
30
2# of first n natural2# numbers1 # of first n natural5# of first n natural2
30
3
30
1# of first n natural5
30
3 # Python3 Program to0
30
4
30
2_______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 .