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

โปรแกรม C++ สำหรับตัวหารร่วมของตัวเลขสองตัว?


ตัวหารร่วมของตัวเลขสองตัวคือตัวเลขที่เป็นตัวหารของทั้งสองตัว

ตัวอย่างเช่น

ตัวหารของ 12 คือ 1, 2, 3, 4, 6, 12

ตัวหารของ 18 คือ 1, 2, 3, 6, 9, 18

ดังนั้น ตัวหารร่วมของ 12 และ 18 คือ 1, 2, 3, 6

ค่าที่ยิ่งใหญ่ที่สุดในบรรดาเหล่านี้อาจเรียกว่าตัวหารร่วมมากของ 12 และ 18 อย่างไม่น่าแปลกใจ สัญกรณ์ทางคณิตศาสตร์ปกติสำหรับตัวหารร่วมมากของจำนวนเต็มสองจำนวน a และ b แสดงโดย (a, b) ดังนั้น (12, 18) =6.

ตัวหารร่วมมากสำคัญด้วยเหตุผลหลายประการ ตัวอย่างเช่น สามารถใช้คำนวณ LCM ของตัวเลขสองตัว นั่นคือ จำนวนเต็มบวกที่น้อยที่สุดที่เป็นจำนวนทวีคูณของตัวเลขเหล่านี้ ตัวคูณร่วมน้อยของตัวเลข a และ b สามารถคำนวณได้เป็น ab(a, b)

ตัวอย่างเช่น ตัวคูณร่วมน้อยของ 12 และ 18 คือ12·18(12, 18) =12 · 18.6

Input: a = 10, b = 20
Output: 1 2 5 10
// all common divisors are 1 2 5 10

คำอธิบาย

จำนวนเต็มที่สามารถหารทั้งสองตัวเลขได้อย่างแม่นยำ (ไม่มีเศษ)

ตัวอย่าง

#include <iostream>
using namespace std;
int main() {
   int n1, n2, i;
   n1=10;
   n2=20;
   for(i=1; i <= n1 && i <= n2; ++i) {
      if(n1%i==0 && n2%i==0) {
         cout<<i<<"\t";
      }
   }
}