UVa:10673 Play with Floor and Ceil

数学水题,列一个方程,直接暴力即可。

#include <iostream>
#include <cstdio>
#include <cstring>
#include <algorithm>
#include <cmath>
#define MAXN 100000000
#define ll long long
using namespace std;
int main()
{
    int T;
    scanf("%d",&T);
    while(T--)
    {
        ll x,k;
        scanf("%lld%lld",&x,&k);
        ll a=(int)floor(x*1.0/k),b=(int)ceil(x*1.0/k);
        ll xx,yy;
        for(int i=0; i<=MAXN; ++i)
            if((x-i*a)%b==0)
            {
                xx=i;
                yy=(x-i*a)/b;
                break;
            }
        printf("%lld %lld\n",xx,yy);
    }
    return 0;
}


 

你可能感兴趣的:(数学,水)