두 개의 숫자 x와 y가 주어졌을 때 출력은 k번째 공약수를 포함해야 합니다.
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
알고리즘
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=2and 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
예시
#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[poi 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; }
출력
위의 프로그램을 실행하면 다음과 같은 출력이 생성됩니다.
their kth common factor is : 2