Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> การเขียนโปรแกรม C

โปรแกรม C หาผลรวมตัวประกอบขั้นต่ำของตัวเลข?


โปรแกรมหาผลรวมตัวประกอบขั้นต่ำของตัวเลข ตรรกะในการแก้ปัญหานี้คือ ค้นหาชุดปัจจัยทั้งหมดแล้วบวกเข้าไป เราจะทำเช่นเดียวกันกับปัจจัยทุกชุด จากนั้นจึงเปรียบเทียบปัจจัยทั้งหมด จากนั้นหาจำนวนเงินขั้นต่ำเหล่านี้ทั้งหมด

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
Therefore minimum sum is 7

ตัวอย่าง

#include<iostream>
using 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;
}