โปรแกรมหาผลรวมตัวหารที่น้อยที่สุดของตัวเลข ตรรกะคือหาชุดตัวหารทั้งหมดและบวกกัน สำหรับทุกชุดตัวหาร ทำซ้ำและเปรียบเทียบ แล้วหาค่าต่ำสุดของผลรวมเหล่านี้
Input: n=12 Output: 7
คำอธิบาย
หาตัวหารของ n แล้วบวกกันและพยายามลดผลรวม ต่อไปนี้คือวิธีการแยกตัวประกอบ 12 และผลรวมตัวหารในวิธีต่างๆ
12 = 12 * 1 = 12 + 1 = 13 12 = 2 * 6 = 2 + 6 = 8 12 = 3 * 4 = 3 + 4 = 7 12 = 2 * 2 * 3 = 2 + 2 + 3 = 7 ดังนั้นผลรวมต่ำสุดคือ 7
ตัวอย่างโค้ด C++
#includeusing namespace std; int main() { int n = 12; int sum = 0; for (int i = 2; i * i <= n; i++) { while (n % i == 0) { sum += i; n /= i; } } sum += n; cout << sum; return 0; }