1200*B. A Balanced Problemset?(贪心&数学)

Problem - B - Codeforces

1200*B. A Balanced Problemset?(贪心&数学)_第1张图片

解析:

       由上面公示得,答案必为 x 的因子,所以枚举 x 的因子 k,然后判断分成 k 是否大于等于 n ,此时 x / i 即为答案。

#include
using namespace std;
int n,x;
void solve(){
	scanf("%d%d",&x,&n);
	int ans=1;
	for(int i=1;i<=x/i;i++) if(x%i==0){
		if(n<=x/i) ans=max(ans,i);
		if(n<=i) ans=max(ans,x/i);
	}
	printf("%d\n",ans);
}
signed main(){
	int t=1;
	scanf("%d",&t);
	while(t--) solve();
	return 0;
}

你可能感兴趣的:(codeforces,算法,c++,开发语言,数学,贪心)