关注
object Main extends App{
val
num = 291
//转换为2进制
def toBin(number: Int, bin: List[Int]): List[Int] =
number match {
case
0 => bin
case _ => toBin(number/2,
number%2::bin)
}
//记录二进制中1的位置
def Ones(bin: List[Int], index: Int, result: List[Int]):
List[Int] = bin match {
case Nil => result
case
x::y => if (x
== 0) Ones(y,index-1,result)
else
Ones(y,index-1,result:+index)
}
//转换函数
def change(number: Int): String = number
match {
case
x
if(x<=2) =>
"2(" + x + ")+"
case _ => "2(" +
Ones(toBin(number,Nil),toBin(number,Nil).length-
1
,Nil)
.map { x=>
change(x)}.reduceRight(_+_).dropRight(1) +
")+"
}
println(change(
num
).dropRight(1))
}
查看原帖
点赞 评论
相关推荐
点赞 评论 收藏
分享
点赞 评论 收藏
分享
牛客热帖
更多
正在热议
更多
# 春招进度记录 #
43983次浏览 352人参与
# 打工人的工作餐日常 #
31015次浏览 282人参与
# 实习进度记录 #
44225次浏览 351人参与
# 软开人,说说你的烦心事 #
35203次浏览 221人参与
# 你想吐槽公司的哪些规定 #
11402次浏览 40人参与
# 诺瓦星云求职进展汇总 #
188066次浏览 1620人参与
# 打工人的精神状态 #
38826次浏览 777人参与
# 一觉醒来,秋招难度下降一万倍…… #
60899次浏览 529人参与
# 荣耀求职进展汇总 #
826014次浏览 4668人参与
# 机械制造秋招总结 #
47019次浏览 462人参与
# 机械校招之路总结 #
85265次浏览 1829人参与
# 滴!实习打卡 #
601631次浏览 6391人参与
# 如何KTV领导 #
47321次浏览 373人参与
# 查收我的offer竞争力报告 #
155322次浏览 963人参与
# 参加完秋招的机械人,还参加春招吗? #
38096次浏览 454人参与
# 研究所笔面经互助 #
62546次浏览 418人参与
# 我在牛爱网找对象 #
167961次浏览 1247人参与
# 秋招感动瞬间 #
18861次浏览 184人参与
# 我在牛客求捞 #
37082次浏览 199人参与
# 工作经验重要还是工资重要? #
70958次浏览 667人参与