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

โปรแกรม C/C++ หาผลคูณของ Unique Prime Factors ของตัวเลข


Unique Prime Factors คือ ตัวประกอบที่เป็นเลขเฉพาะของตัวเลขนั้น โจทย์: หาผลคูณของ Unique Prime Factors ทั้งหมด เลขเฉพาะคือ มีตัวประกอบแค่ 1 และตัวมันเอง

ตัวอย่าง n = 1092: Prime factors = 2, 3, 7, 13 ผลคูณ = 546

วิธีง่าย: วนหาตัวประกอบทั้งหมด ตรวจสอบว่าเป็น Prime ไหม ถ้าเป็น คูณสะสม

Input: n = 10 Output: 10

คำอธิบาย

10 มี Prime factors 2 และ 5 ผลคูณ = 10

Loop i=2 ถึง n ถ้า i หาร n ลงตัว ตรวจสอบ i ว่าเป็น Prime ไหม ถ้าใช่ คูณสะสม

ตัวอย่าง

#include <iostream>
using namespace std;
int main() {
    int n = 10;
    long long int product = 1;
    for (int i = 2; i <= n; i++) {
        if (n % i == 0) {
            int isPrime = 1;
            for (int j = 2; j <= i / 2; j++) {
                if (i % j == 0) {
                    isPrime = 0;
                    break;
                }
            }
            if (isPrime) product = product * i;
        }
    }
    cout << product;
    return 0;
}