Computer >> Máy Tính >  >> Lập trình >> Python

Chương trình Python để Tìm tổng các thừa số lẻ của một số

Trong bài viết này, chúng ta sẽ tìm hiểu về giải pháp cho câu lệnh vấn đề được đưa ra bên dưới -

Tuyên bố vấn đề

Cho một đầu vào số n, nhiệm vụ là Tìm tổng các thừa số lẻ của một số.

Ở đây, trước tiên chúng ta cần loại bỏ tất cả các yếu tố chẵn.

Để loại bỏ tất cả các thừa số chẵn, chúng ta chia nhiều lần n cho đến khi nó chia hết cho 2. Sau bước này, chúng ta chỉ nhận được các thừa số lẻ của số.

Dưới đây là cách triển khai -

Ví dụ

import math
def sumofoddFactors( n ):
   #prime factors
   res = 1
   # ignore even factors
   while n % 2 == 0:
      n = n // 2
   for i in range(3, int(math.sqrt(n) + 1)):
      count = 0
      curr_sum = 1
      curr_term = 1
      while n % i == 0:
         count+=1
         n = n // i
         curr_term *= i
         curr_sum += curr_term
      res *= curr_sum
   # n is a prime number.
   if n >= 2:
      res *= (1 + n)
      return res
# main
n = 27
print(sumofoddFactors(n))

Đầu ra

41

Tất cả các biến được khai báo trong khung toàn cục như thể hiện trong hình bên dưới -

Chương trình Python để Tìm tổng các thừa số lẻ của một số

Kết luận

Trong bài viết này, chúng ta đã tìm hiểu về phương pháp Tìm tổng các thừa số lẻ của một số