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ố chẵn 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ố kỳ quặc.
Nếu đầu vào số là số lẻ, nó không có hệ số chẵn do đó trả về 0 trực tiếp, nếu không, chúng tôi sẽ làm theo cách tiếp cận trong đoạn mã dưới đây
Dưới đây là cách triển khai -
Ví dụ
import math # Returns sum of all even factors of n. def sumofFactors(n) : # If n is odd if (n % 2 != 0) : return 0 #all prime factors res = 1 for i in range(2, (int)(math.sqrt(n)) + 1) : count = 0 curr_sum = 1 curr_term = 1 while (n % i == 0) : count= count + 1 n = n // i # here we remove the 2^0 that is 1. All other factors if (i == 2 and count == 1) : curr_sum = 0 curr_term = curr_term * i curr_sum = curr_sum + curr_term res = res * curr_sum # if n is prime number if (n >= 2) : res = res * (1 + n) return res # main n = 20 print(sumofFactors(n))
Đầu ra
36
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 -
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ố chẵn của một số