算法4练习题(Kotlin) - 1.1.9 Int 转二进制 String

题目描述:
Write a code fragment that puts the binary representation of a positive integer N into a String s

  • 书中提示的 Java 写法

    int N = 12345;
    String s = "";
    for (int n = N; n > 0; n/=2)
          s = (n %2) + s
    
  • Kotlin 写法

    才发现 Kotlin 好像不论怎么写,都没有办法写出来 for loop 可以在括号内修改下一次迭代的值,用其它曲线救国的方式写也行,但是代码很难看,所以,没办法,当然是选择原谅它用递归啦

    fun main(args: Array<String>) {
        println(12345.toBinaryString())
        //用Java自带的函数验证一下
        println(Integer.toBinaryString(12345))
    }
    fun Int.toBinaryString(): String = if (this == 1) "1" else (this/2).toBinaryString() + this % 2
    

    运行结果:没有问题


最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Java经典问题算法大全 /*【程序1】 题目:古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子...
    赵宇_阿特奇阅读 1,916评论 0 2
  • 背景 一年多以前我在知乎上答了有关LeetCode的问题, 分享了一些自己做题目的经验。 张土汪:刷leetcod...
    土汪阅读 12,779评论 0 33
  • 《Kotin 编程思想·实战》 《Kotlin极简教程》正式上架: 点击这里 > 去京东商城购买阅读 点击这里 >...
    光剑书架上的书阅读 2,143评论 1 4
  • 1. Java基础部分 基础部分的顺序:基本语法,类相关的语法,内部类的语法,继承相关的语法,异常的语法,线程的语...
    子非鱼_t_阅读 31,779评论 18 399
  • 本人自十几岁就护校毕业,在中国、新加坡及澳洲都工作,并继续在澳洲护士工作岗位上工作十几年了。要问护士是怎样的一...
    Salus阅读 275评论 0 0