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

ค้นหาเลขเฉพาะสองตัวที่แตกต่างกันพร้อมกับผลิตภัณฑ์ที่กำหนดในโปรแกรม C++


ในบทช่วยสอนนี้ เราจะเขียนโปรแกรมค้นหาเลขเฉพาะสองตัวที่แตกต่างกันกับผลิตภัณฑ์ที่ระบุ มาดูตัวอย่างกัน

ป้อนข้อมูล − 21

ผลผลิต − 3 7

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

  • เริ่มต้นผลิตภัณฑ์และอาร์เรย์บูลีนเพื่อจัดเก็บว่าตัวเลขในช่วงเป็นจำนวนเฉพาะหรือไม่

  • ค้นหาจำนวนเฉพาะทั้งหมดที่น้อยกว่าผลิตภัณฑ์ที่กำหนดและจัดเก็บไว้ในอาร์เรย์

  • ทำซ้ำจนกว่าจะได้ผลิตภัณฑ์ที่กำหนด

    • หากจำนวนปัจจุบันเป็นจำนวนเฉพาะและ n / current_number เป็นจำนวนเฉพาะ ให้ตรวจสอบว่ามีความแตกต่างกันหรือไม่

    • หากต่างกันก็พิมพ์ออกมา

ตัวอย่าง

มาดูโค้ดกันเลย

#include <bits/stdc++.h>
using namespace std;
bool primes(int n, bool primeStatus[]) {
   primeStatus[0] = primeStatus[1] = false;
   for (int i = 2; i <= n; i++) {
      primeStatus[i] = true;
   }
   for (int i = 2; i * i <= n; i++) {
      if (primeStatus[i] == true) {
         for (int j = i * 2; j <= n; j += i)
            primeStatus[j] = false;
      }
   }
}
int main() {
   int n = 21;
   bool primeStatus[n + 1], pairsFound = false;
   primes(n, primeStatus);
   for (int i = 2; i < n; i++) {
      int pair = n / i;
      if (primeStatus[i] && primeStatus[pair] && pair != i && pair * i == n) {
         cout << i << " " << pair << endl;
         pairsFound = true;
         break;
      }
   }
   if (!pairsFound){
      cout << "No pairs";
   }
   return 0;
}

ผลลัพธ์

หากคุณเรียกใช้โค้ดด้านบน คุณจะได้ผลลัพธ์ดังต่อไปนี้

3 7

บทสรุป

หากคุณมีข้อสงสัยใดๆ ในบทแนะนำ โปรดระบุในส่วนความคิดเห็น