#44199: c answer


suyueh (suyueh)

學校 : 不指定學校
編號 : 272111
來源 : [101.12.162.212]
最後登入時間 :
2024-11-10 22:20:41
b537. 分數運算-1 -- 老師的教甄題 | From: [111.242.18.129] | 發表日期 : 2024-11-11 19:54

#include <stdio.h>

long long getK(int a, int b)
{
    if (b < a)
    {
        int shift = a / b;
        a %= b;
        return a ? (getK(b, a) + 1) << shift : 1LL << (shift - 1);
    }
    else
    {
        return a == b ? 1 : getK(b, a) + 1;
    }
}

int main()
{
    int a, b;
    while (scanf(" %d %d", &a, &b) == 2)
    {
        printf("%lld\n", getK(a, b));
    }
    return 0;
}

 
ZeroJudge Forum