个人解决牛客网上,剪绳子问题的思路

qq_42935242 2019-09-20 05:31:16
3^x=n-(n%3)。其中x代表长度为3的段数,n为绳子全长。由该式子得m=log3^(n-(n%3)),由于Math类没有提供log3适用的方法。于是由换底公式得m=lg(n-(n%3))/lg3。然后调用Math的静态方法log10()即可。得到m后,判断n和3的余数值,为1,3^(m-1)*4 ,因为一个数乘以一数值不变,为了得最大值,应该在3的基础上加一。为2,3^m *2。
...全文
92 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
qq_42935242 2019-09-20
  • 打赏
  • 举报
回复
引用 1 楼 wowpH的回复:
1、n-n%3不就是n/3吗? 2、没看懂为什么要用对数。分段不应该是除3吗?
1.你说的没错确实是n/3 2.对数是解决的一种手段而已。 谢谢你的提示。我是新手。这是我第一次想的就直接弄了。没想到那么全,谢谢呀
wowpH 2019-09-20
  • 打赏
  • 举报
回复
1、n-n%3不就是n/3吗? 2、没看懂为什么要用对数。分段不应该是除3吗?

62,615

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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