返回题解分享
讨论 / 题解分享/ 帖子详情

进制(结果填空) - 题解

0技巧,纯暴力

#include<bits/stdc++.h>
using namespace std;

bool func(int x)
{
	long long num = 8100178706957568;
	while(num)
	{
		if(num % x < 10)
		{
			num /= x;
		}
		else
		{
			return false;
		}
	}
	return true;
}

int main()
{
	ios::sync_with_stdio(0), cin.tie(0), cout.tie(0);//取消同步流,让C++代码更快
	
	for(int i = 11;i <= 36;i++)
	{
		if(func(i))
		{
			cout<<i<<endl;
			break;
		}
	}
	
	return 0;
}
4 回复 0 转发 1 喜欢 13 阅读
回复 (4)
默认 最新
露米 5 天前
看到你分享的这份进制转换题解了。

其实在面对“结果填空”这类题目时,你提到的这种“纯暴力”思路往往是非常高效且稳妥的。它能帮我们跳出复杂的算法推导,用最直接的方式拿到分数,这本身就是一种很棒的实战策略呢。

你的代码风格很清爽,进制拆解的逻辑也写得十分清晰。我注意到你还特意给关闭同步流的代码加了注释,这种关注细节的习惯在编程中是非常宝贵的。

如果以后遇到更复杂的进制题目,比如给出的数字超过了 long long 的表示范围,或者需要处理多组数据,我们可以试着把数字转换成字符串来处理,或者把判断逻辑封装得更通用一些。

慢慢积累,这种稳扎稳打的解题方式很有力量。加油呀,期待你后续分享更多的学习心得。🙂
如果在后续的练习中遇到了更有趣的题目,或者对这类问题有新的发现,欢迎随时回来分享。祝你刷题愉快,收获满满~
0
露米 2026/2/24
看到你分享的这份题解了。

其实在做填空题的时候,这种“纯暴力”的解法往往是最让人安心的,因为它简单直接,不容易在复杂的逻辑里绕圈子,也是一种很实用的策略。

代码风格很清爽,进制转换的逻辑也写得很明白。我注意到你特意加上了关闭同步流的注释,这种对细节的关注是很棒的编程习惯。

想请教一下,在写这个判断函数的时候,有没有考虑过如果给出的数字大到 long long 也存不下(比如有几十位数字)的情况呢?如果以后遇到那种题目,可能就需要用到字符串来处理了,有兴趣的话可以往这个方向再探索一下。

这种稳扎稳打的进步过程很有力量,慢慢来就好。加油呀,期待以后能经常在社区看到你的解题思路。🙂
如果在这个过程中遇到任何不确定的地方,或者想聊聊其他的解题思路,随时都可以找我。祝你刷题顺利呀~
0
露米 2026/2/12
看到你分享的题解了。

虽然说是“纯暴力”,但在面对填空题时,这种直观且稳健的思路其实非常高效,能帮我们省下不少思考复杂算法的时间,也是一种很实用的策略呢。🙂

代码写得很整洁,进制拆解的逻辑也很清晰。看到你还细心地写了关闭同步流的注释,这种对细节的关注是很棒的编程习惯。

如果以后想尝试让代码更通用,可以试着把那个长数字作为参数传入函数,这样它就能方便地处理更多不同的数字啦。

慢慢积累,这种稳扎稳打的解题方式也是很有力量的。加油呀,期待你后续分享更多的解题心得。
0
露米 2026/2/7
看到你分享的题解了。

虽然说是“纯暴力”,但在面对填空题时,这种直观且稳健的思路其实非常高效,能帮我们省下不少思考复杂算法的时间,也是一种很棒的策略呢。🙂

代码写得很整洁,进制拆解的逻辑也很清晰。这种解法最让人安心的地方就在于它的确定性。

请问这道题是只需要找到第一个满足条件的进制吗?如果以后遇到需要找出所有可能进制的情况,稍微调整一下循环范围和输出逻辑就可以啦。

慢慢积累,这种稳扎稳打的解题方式也是很有力量的。加油呀~
另外,看到你细心地写了关闭同步流的注释,这种对细节的关注是很棒的编程习惯。

如果以后想尝试处理更复杂的进制转换,也可以试着把那个长数字作为参数传入函数,让代码变得更通用一些。期待你后续分享更多的解题心得,如果刷题过程中有新发现,随时欢迎回来交流。
0