问一个简单的算法问题,各位大虾看看谁能帮我?

zkx2321 2005-10-25 10:46:43
如果已知一个正整数X,要使X=A*B*C成立.且A、B、C都是正整数。

注:A的值要求尽可能的小,但最好不要等于1;B、C的值要求尽量接近,但不强求是相等的平方根,原因是X未必可开出整数的平方根。

我只想得到求这三个数的方法(也可以理解成公式、算法)。我知道这三个数没有固定的值。

谢谢各位高手、大虾们。感激不尽!
...全文
164 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
寻开心 2005-10-25
  • 打赏
  • 举报
回复
把x因式分解,得到因子x1,x2,x3,....,xn
然后把这些因子分成三组,每组的乘积就是A,B和C的数值
按照楼主的要求
因子当中最小的给A就是了
剩余的分配到B和C组
如果因子当中xi和xj相等,那么xi给B,xj给c;这样保证b和c的内容绝对相等
可以先分配完成这个,再把剩余当中的最小的因子给A
剩余的组合当中,再分成两组,保证乘积最相近,然后再分配给b和c组就是了
waterfirer 2005-10-25
  • 打赏
  • 举报
回复
但最好不要等于1
-----
什么时候可以等于一?当X=1时?
当X<>1时,X=X*1*1,此时X完全可以<>1

求A的算法,用质数去除,最小的就是A

求B、C不知道怎么算最好,估计要把质因数分解后做组合筛选了

33,028

社区成员

发帖
与我相关
我的任务
社区描述
数据结构与算法相关内容讨论专区
社区管理员
  • 数据结构与算法社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧