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

พิมพ์ตัวหารร่วมตัวที่ k ของสองจำนวน

ได้รับสองจำนวน 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