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

โปรแกรม C/C++ เพื่อค้นหาผลคูณของตัวประกอบเฉพาะของตัวเลข?


ปัจจัยเฉพาะเฉพาะ เป็นตัวประกอบของจำนวนที่เป็นจำนวนเฉพาะด้วย ในปัญหานี้ เราต้องหาผลคูณของตัวประกอบเฉพาะเฉพาะของจำนวนหนึ่ง จำนวนเฉพาะ เป็นตัวเลขที่มีตัวประกอบเพียงสองตัว คือ ตัวเลขและตัวหนึ่ง

เราจะพยายามหาวิธีที่ดีที่สุดในการคำนวณผลคูณของตัวประกอบเฉพาะของตัวเลข มาดูตัวอย่างเพื่อทำให้ปัญหาชัดเจนยิ่งขึ้น

มีตัวเลขบอกว่า n =1092 เราต้องได้ผลคูณของตัวประกอบเฉพาะของตัวนี้ ตัวประกอบเฉพาะของ 1092 คือ 2, 3, 7, 13 ผลคูณคือ 546

2 วิธีง่ายๆ ในการหาสิ่งนี้คือการหาตัวประกอบทั้งหมดของจำนวนนั้นและตรวจสอบว่าตัวประกอบนั้นเป็นจำนวนเฉพาะหรือไม่ ถ้ามันคูณกับตัวเลขแล้วส่งกลับตัวแปรคูณ

Input: n = 10
Output: 10

คำอธิบาย

ในที่นี้ จำนวนอินพุตคือ 10 ที่มีตัวประกอบเฉพาะ 2 ตัวเท่านั้น และพวกมันคือ 5 และ 2

และด้วยเหตุนี้ผลิตภัณฑ์ของพวกเขาคือ 10

ใช้การวนซ้ำจาก i =2 ถึง n และตรวจสอบว่า i เป็นปัจจัยของ n หรือไม่ จากนั้นตรวจสอบว่า i เป็นจำนวนเฉพาะหรือไม่ ถ้าใช่ จากนั้นเก็บผลิตภัณฑ์ในตัวแปรผลิตภัณฑ์ และดำเนินการตามขั้นตอนนี้ต่อไปจนถึง i =n

ตัวอย่าง

#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;
}