还是题意的理解。
最开始以为set集里面最大的值是500;
一直错。。
后来才发现是set里面的元素个数最多为500....
差了很多。。。。
方法是用打表的方法。
由于1-9必符合条件。
所以先添加到表中,由于10=5*2也是,也添加到表中。
11肯定不是了,那么就从12开始。
先判断i是否是表中已经有的元素*2,如果是,直接加入表中。
如果不是,再进行判断,是否各位数的和和各位数的乘积是否相等。
如果相等,也添加到表中。
原来判断 各位数的和和各位数的乘积是否相等 是转换成字符串来做。
原来想这样操作起来比较直观。但是后来发现要把set表打到有500个元素要好长时间。
只好改用运算的方法来做。
速度真的是天差地别呀!
本文介绍了一种通过算法构建特殊数值集合的方法,该集合中的数值满足特定条件:一是数值可以由集合内已有的数值乘以2得到;二是数值的各位数字之和等于各位数字的乘积。文章详细阐述了实现这一算法的具体步骤,并提供了C语言实现的源代码。
548

被折叠的 条评论
为什么被折叠?



