首先,你仔细读题了吗 请仔细读题。
题目要求是可以出现2 * 3 = 6 的情况的,这是个小坑 起码我被坑到了
这就迫使我们不能使用两个数组分别存2的i次方和3的j次方
错误写法:
正确的思路是这样的:
定义一个find函数(简称fd):
fd函数用于找出所有从1到n的AC数,并返回一个包含这些数的vector。
在循环中,对每个数 i 进行检查:
通过while循环去除 i 中所有的2和3。如果剩下的数为1,则 i 是AC数。
将AC数添加到 numbers向量中。
接着来看主函数:
在 main 函数中,首先读取输入的整数n。
调用 findACNumbers 函数来获取所有的AC数。
输出所有的AC数,用空格隔开。
最后,结合起来,加上头文件: