ได้รับสองจำนวน 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 (e.g. 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
ตัวอย่างโค้ด (C)
#include <stdio.h>
int main() {
int x = 3, y = 21, k = 1;
int i, num, count = 1;
if (x < y)
num = x;
else
num = y;
for (i = 2; i <= num; i++) {
if (x % i == 0 && y % i == 0)
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