璟雯院

珺璟如晔,雯华若锦

用户工具

站点工具


icpc:problems:701a_add_and_divide
problems
名称Add and Divide
题目编号701A
题目链接codeforces.com/…
来源CodeForces
算法分类数学
难易程度小有难度

Add and Divide

想法

没想法。数学题。

这道题的第一个操作与第二个操作顺序是不影响结果的,一般想到这个这道题就结束了。

因为步骤1,最多30步怎么着都能结束,所以我们就调整第2步,先给他从1到30来个增量枚举,然后再去除。取最优就行了。

代码实现

#include<cstdio>//uncle-lu 701 a
#include<algorithm>
template<class T>void read(T &x)
{
	x=0;int f=0;char ch=getchar();
	while(ch<'0'||ch>'9') { f|=(ch=='-'); ch=getchar(); }
	while(ch<='9'&&ch>='0') { x=(x<<1)+(x<<3)+(ch^48); ch=getchar(); }
	x = f ? -x : x;
	return ;
}
 
int main()
{
	int a, b, T, A;
	read(T);
	for (int t = 1; t <= T; t++) 
	{
		read(a);read(b);
		int ans = 0x7f7f7f;
		bool flag = false;
 
		if(b == 1) { b++; flag = true; }
 
		for(int B=0; B<=30; ++B)
		{
			int cnt = B;
			A = a;
			while(A)
			{
				A/=(b+B);
				cnt++;
			}
			ans = std::min(ans, cnt);
		}
 
		if(flag)
			ans++;
		printf("%d\n", ans);
	}
	return 0;
}
/app/www/public/data/pages/icpc/problems/701a_add_and_divide.txt · 最后更改: 2023/10/01 10:59 由 温婕莺