关注
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))
}
查看原帖
点赞 评论
相关推荐

点赞 评论 收藏
分享
09-18 21:54
门头沟学院 Java 点赞 评论 收藏
分享
牛客热帖
更多
正在热议
更多
# 你现在会用到哪些AI技能? #
5395次浏览 77人参与
# 蚂蚁求职进展汇总 #
122973次浏览 1163人参与
# 智慧芽求职进展汇总 #
1654次浏览 5人参与
# 秋招踩过的“雷”,希望你别再踩 #
82789次浏览 1070人参与
# 我的求职进度条 #
86646次浏览 1152人参与
# 大厂VS公务员你怎么选 #
26153次浏览 381人参与
# 平安产险科技校招 #
643次浏览 0人参与
# 我对___祛魅了 #
132143次浏览 736人参与
# 你还有多少年退休? #
26669次浏览 192人参与
# 实习在多还是在精 #
34510次浏览 241人参与
# 实习下班不想学习,正常吗? #
19614次浏览 173人参与
# 你的房租占工资的比例是多少? #
64642次浏览 797人参与
# 小马智行求职进展汇总 #
13488次浏览 49人参与
# 你见过哪些工贼行为 #
16262次浏览 90人参与
# 校招谈薪一定要知道的事 #
13045次浏览 113人参与
# 金蝶求职进展汇总 #
53803次浏览 263人参与
# 找工作中的小确幸 #
26440次浏览 275人参与
# 顺丰求职进展汇总 #
63274次浏览 314人参与
# 反问环节如何提问 #
115217次浏览 2460人参与
# 总结:哪家公司面试体验感最好 #
70073次浏览 416人参与
# 非技术岗投递进展 #
157854次浏览 1314人参与
# 你觉得什么岗位会被AI替代 #
16198次浏览 176人参与