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

โปรแกรม C เพื่อค้นหา GCD ของตัวเลขโดยใช้ฟังก์ชันไม่เรียกซ้ำ


ปัญหา

ค้นหาตัวหารร่วมมาก (GCD) สำหรับตัวเลขสองตัวที่ระบุโดยใช้ฟังก์ชันไม่เรียกซ้ำ

วิธีแก้ปัญหา

มีการอธิบายด้านล่างถึงวิธีการหาตัวหารร่วมมาก (GCD) สำหรับตัวเลขสองตัวที่ระบุโดยใช้ฟังก์ชันไม่เรียกซ้ำ

อัลกอริทึม

อ้างถึงอัลกอริธึมที่ระบุด้านล่างเพื่อค้นหาตัวหารร่วมมาก (GCD) สำหรับตัวเลขสองตัวที่ระบุโดยใช้ฟังก์ชันไม่เรียกซ้ำ

ขั้นตอนที่ 1 − เริ่มต้น

ขั้นตอนที่ 2 − อ่านจำนวนเต็ม a และ b

ขั้นตอนที่ 3 − เรียกใช้ฟังก์ชัน G=GCD(a,b) ขั้นตอนที่ 6

ขั้นตอนที่ 4 − พิมพ์ค่า G

ขั้นตอนที่ 5 − หยุด

ขั้นตอนที่ 6 − เรียกฟังก์ชัน:GCD(a,b)

a. Initialize the i=1, j, remainder
b. Remainder=i-(i/j*j)
c. Remainder=0 return j else goto step 4
d. GCD(G,remainder) return to main program

ผังงาน

ด้านล่างนี้คือแผนผังลำดับงานสำหรับอัลกอริทึมเพื่อค้นหาตัวหารร่วมมาก (GCD) สำหรับตัวเลขสองตัวที่ระบุโดยใช้ฟังก์ชันไม่เรียกซ้ำ

โปรแกรม C เพื่อค้นหา GCD ของตัวเลขโดยใช้ฟังก์ชันไม่เรียกซ้ำ

ตัวอย่าง

ต่อไปนี้เป็นโปรแกรม C เพื่อ หาตัวหารร่วมมาก (GCD) สำหรับตัวเลขสองตัวที่ระบุโดยใช้ฟังก์ชันไม่เรียกซ้ำ

#include<stdio.h>
#include<conio.h>
#include<math.h>
int gcdnonR(int i,int j){
   int rem;
   rem=i-(i/j*j);
   if(rem==0)
      return j;
   else
      gcdnonR(j,rem);
}
void main(){
   int a,b;
   printf("enter the two numbers:");
   scanf("%d%d",&a,&b);
   printf("GCD of %d",gcdnonR(a,b));
   getch();
}

ผลลัพธ์

เมื่อโปรแกรมข้างต้นทำงาน มันจะให้ผลลัพธ์ดังต่อไปนี้ −

enter the two numbers:10 30
GCD of 10