Codeforces 1360 D. Buying Shovels

在这里插入图片描述

题意:

要买 n n 个铲子,商店中有 k k 中不同的卖法,依次每一次卖 1 1 k k 个铲子,现在只能选择其中的一种买法,问最少买几次同一种的买法,使得刚好买到 n n 个铁锹。

直接选择小于 k k n n 的最大因子即可。

AC代码:

int n, m, k;
int main()
{
	int t;
	sd(t);
	while (t--)
	{
		sdd(n, k);
		int ans = inf;
		for (int i = 1; i * i <= n; i++)
		{
			if (n % i == 0)
			{
				if (i <= k)
					ans = min(ans, n / i);
				if (n / i <= k)
					ans = min(ans, i);
			}
		}
		pd(ans);
	}
	return 0;
}

猜你喜欢

转载自blog.csdn.net/qq_43627087/article/details/106339254