Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Python

โปรแกรม Python หาผลรวมของเฉพาะตัวประกอบคู่ (Even Factors) ของเลข

โจทย์: กำหนดเลข n หาผลรวมของเฉพาะตัวประกอบคู่

ถ้า n เป็นคี่ → ไม่มีตัวประกอบคู่ คืน 0 ทันที มิฉะนั้น factorize และคำนวณผลรวม โดยตัด 2⁰ (คือ 1) ออก

โค้ดตัวอย่าง

import math

def sumofFactors(n):
    if n % 2 != 0:
        return 0
    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 += 1
            n //= i
            curr_term *= i
            curr_sum += curr_term
        if i == 2 and count == 1:
            curr_sum = 0
        res *= curr_sum
    if n >= 2:
        res *= (1 + n)
    return res

print(sumofFactors(20))

ผลลัพธ์

36

โปรแกรม Python หาผลรวมของเฉพาะตัวประกอบคู่ (Even Factors) ของเลข

สรุป

เรียนรู้วิธีหาผลรวมเฉพาะตัวประกอบคู่ของเลข: ถ้าเลขคี่คืน 0 ไปเลย มิฉะนั้น factorize และตัด 2⁰ ออกจากผลรวม