華為OJ 第K個公約數

2021-10-09 20:16:46 字數 821 閱讀 1647

清朝時期,國王選妃。國王看中了段飛的女朋友,在段飛的苦苦哀求下,國王終於給了他一次奪回女朋友的機會。國王說我給你n對數字(每對有數字a,b兩個),你需要求出每兩個數字的第k個公約數。如果全部對的話,你就可以帶走你的女朋友了,如果有乙個錯的話她就是國王的王妃了。

第k個公約數:

比如8和16,公約數1,2,4,8.(8=1*2*2*2,8=2*4*1,這樣2可能重複,我們把它記作乙個數。所以8和是16的公約數是1 2 4 8 第三個公約數是4

解答要求時間限制:1000ms, 記憶體限制:64mb

輸入給你三個數字a,b,k(a,b,k在int範圍內)。

輸出輸出一行,給個a和b的第k個公約數。如果這兩個數字沒有第k個公約數,則輸出0.

樣例輸入樣例 1 複製

8 16 3
輸出樣例 1

4
提示

求出a,b的最大公約數,從1開始列舉,判斷是否是a,b的公約數,當查到第k個時,滿足條件,輸出,

如果查到a,b的公約數的個數和小於k則輸出0。

#include "stdio.h"

#include "string.h"

#include "stdlib.h"

int main()

if (j > i)

} max = j;

//printf("最大公約數是%d\r\n", max);

for (i = 1; i < max; i++)

if (num == c)

} if (num == 0)

else

}

oj1611 最大公約數

問題描述 求兩個正整數的最大公約數。輸入 輸入資料含有不多於50對的資料,每對資料由兩個正整數 0 n1,n2 232 組成。輸出 對於每組資料n1和n1,計算最大公約數,每個計算結果應佔單獨一行。問題描述 求兩個正整數的最大公約數。輸入 輸入資料含有不多於50對的資料,每對資料由兩個正整數 0 n...

求2個整數的公倍數和公約數

以下用2種方法求最大公約數和最小公倍數 package jk public class datatest 以下是一般的演算法 class diviserandmultiple 輾轉相除法求公約數 public int commondiviser while y x 0 return x 公倍數第1種...

求兩個正整數的最大公約數

基本要求 從鍵盤輸入兩個整數,輸出兩個整數的最大公約數。用c或c 語言實現程式解決問題。1.程式風格良好 使用自定義注釋模板 2.使用三種演算法解決問題 3.提供友好的輸入輸出,並進行輸入資料的正確性驗證 方法一 窮舉法 窮舉法,顧名思義,就是乙個乙個試,即遍歷兩個整數中較小的數到零的所有數,如果能...