求调!开longlong为什么最后还是26分……
查看原帖
求调!开longlong为什么最后还是26分……
832972
xsy0219楼主2024/7/3 20:43
#include <iostream>
#include <stdio.h>
using namespace std;
int common_divisor(int a, int b)
{
    if (a == 1)
        return 1;
    if (b == 1)
        return 1;
    if (a % b == 0)
        return b;
    if (b % a == 0)
        return a;
    if (a > b)
        return common_divisor(a % b, b);
    else
        return common_divisor(a, b % a);
}
int main()
{
    int a, b, c;
    int n;
    cin >> n;
    for (int i = 1; i <= n; i++)
    {
        cin >> a >> b >> c;
        int aa = a / common_divisor(a, b);
        int bb = b / common_divisor(a, b);
        int dividing_min;

        if (aa > bb)
        {
            if (c % bb == 0)
                dividing_min = c / bb;
            else
                dividing_min = c / bb + 1;
            long long btmp = dividing_min * bb;
            long long atmp = dividing_min * aa;
            cout << atmp + btmp << endl;
        }
        if (aa <= bb)
        {
            if (c % aa == 0)
                dividing_min = c / aa;
            else
                dividing_min = c / aa + 1;
            long long atmp = dividing_min * aa;
            long long btmp = dividing_min * bb;
            cout << atmp + btmp << endl;
        }
    }
    return 0;
}
2024/7/3 20:43
加载中...