数学水题,列一个方程,直接暴力即可。
#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; }