Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> Lập Trình C

In ước chung thứ k của hai số

Cho hai số x và y, đầu ra phải chứa ước chung thứ k của chúng.

Input: x=9 y=18 k=1 Output : k common factor = 2
Factors of 9 : 1, 3, 9
Factors of 18 : 1, 2, 3, 6, 9, 18
Greatest Common Factor : 9

Thuật toán

START
Step 1 -: take input as x and y lets say 3 and 21 and k as 1
Step 2 -: declare start variables as int i,num,count=1
Step 3 -: IF x<y
  Set num=x
End IF
Step 4 -: Else
  Set num=y
End Else
Step 5 -: Loop For i=2 and i<=num and i++
  IF x % i==0 and y % i == 0
    Count =count +1
  End If
  IF count=k
    Print i
  End IF
  Else
    Return -1
  End Else
Step 6 -: End Loop For
STOP

Ví dụ

#include<stdio.h>

int main() {
  int x = 3, y = 21, k = 1; // taking x and y as two number and k is limit for their common factor
  int i,num,count=1;
  if(x<y) //fetching smaller value in num
    num=x;
  else
    num=y;
  for (i=2; i<=num; i++) { //loop from 2 till smaller value
    if (x % i==0 && y % i == 0) //if remainder is 0 increment count
      count++;
    if (count == k)
      printf("%d",i);
    else
      printf("no value as there are less factors than k between x and y ");
    break;
  }
  return 0;
}

Kết quả

Nếu chúng ta chạy chương trình trên thì nó sẽ tạo ra đầu ra sau.

their kth common factor is : 2