Computer >> Máy Tính >  >> Lập trình >> lập trình C

Chương trình C để tìm GCD của các số bằng cách sử dụng hàm không đệ quy

Vấn đề

Tìm ước số chung lớn nhất (GCD) cho hai số đã cho bằng cách sử dụng hàm không đệ quy.

Giải pháp

Dưới đây là giải thích cách tìm ước chung lớn nhất (GCD) cho hai số đã cho bằng cách sử dụng hàm không đệ quy.

Thuật toán

Tham khảo thuật toán đưa ra bên dưới để tìm ước số chung lớn nhất (GCD) cho hai số đã cho bằng cách sử dụng hàm không đệ quy.

Bước 1 - Bắt đầu

Bước 2 - Đọc các số nguyên a và b

Bước 3 - Gọi hàm G =GCD (a, b) bước 6

Bước 4 - In giá trị G

Bước 5 - Dừng lại

Bước 6 - Chức năng được gọi: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

Lưu đồ

Dưới đây là sơ đồ cho thuật toán tìm ước số chung lớn nhất (GCD) cho hai số đã cho bằng cách sử dụng hàm không đệ quy.

Chương trình C để tìm GCD của các số bằng cách sử dụng hàm không đệ quy

Ví dụ

Sau đây là chương trình C để tìm ước chung lớn nhất (GCD) cho hai số đã cho bằng cách sử dụng hàm không đệ quy -

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

Đầu ra

Khi chương trình trên được thực thi, nó tạo ra kết quả sau -

enter the two numbers:10 30
GCD of 10