Kotlin 求整

package test

import java.lang.Math.sqrt

fun main(args: Array<String>) {

    // 5 对比 6
    var number01 = 5
    var number02 = 6
    println(number01>number02)

    //根号5-根号4 对比 根号4-根号3
    var num03 = Math.sqrt(5.0) - Math.sqrt(4.0)
    var num04 = Math.sqrt(4.0) - Math.sqrt(3.0)
    println(num03)
    println(num04)

    println(num03>num04)

    //2的100次方和3的75次方的对比
    var num05 = Math.pow(2.0,100.0)
    var num06 = Math.pow(3.0,75.0)

    println(num05)
    println(num06)

    println(num05>num06)


    var m = "5".toDouble()
    var n = 4
    var x1 = (m + sqrt(m*m - 4*n)) / 2
    var x2 = (m - sqrt(m*m - 4*n)) / 2
    println(x1)
    println(x2)

    println("********************************")


    while(true){
        println("请输入第一个数字:")    //5    4
        var num1str = readLine();
        println("请输入第二个数字:")    //-5   6
        var num2str = readLine();
        try{
            var num1 = num1str!!.toDouble()
            var num2 = num2str!!.toDouble()

            var value1 = (num1 + sqrt(num1*num1 - 4*num2)) / 2
            var value2 = (num1 - sqrt(num1*num1 - 4*num2)) / 2

            println("Answer")
            println("${value1}")
            println("${value2}")

            println("")

            println("${value1}+${value2}=${num1}")
            println("${value1}×${value2}=${num2}")
        }catch(e:Exception){
            println("输入的数据有问题,请重新输入")
        }
    }


}
 
==========================================================================================================================================================
RESULT
 
"C:\Program Files\Java\jdk1.8.0_111\bin\java" "-javaagent:C:\Program Files\JetBrains\IntelliJ IDEA Community Edition 2017.2.5\lib\idea_rt.jar=64684:C:\Program Files\JetBrains\IntelliJ IDEA Community Edition 2017.2.5\bin" -Dfile.encoding=UTF-8 -classpath "C:\Program Files\Java\jdk1.8.0_111\jre\lib\charsets.jar;C:\Program Files\Java\jdk1.8.0_111\jre\lib\deploy.jar;C:\Program Files\Java\jdk1.8.0_111\jre\lib\ext\access-bridge.jar;C:\Program Files\Java\jdk1.8.0_111\jre\lib\ext\cldrdata.jar;C:\Program Files\Java\jdk1.8.0_111\jre\lib\ext\dnsns.jar;C:\Program Files\Java\jdk1.8.0_111\jre\lib\ext\jaccess.jar;C:\Program Files\Java\jdk1.8.0_111\jre\lib\ext\jfxrt.jar;C:\Program Files\Java\jdk1.8.0_111\jre\lib\ext\localedata.jar;C:\Program Files\Java\jdk1.8.0_111\jre\lib\ext\nashorn.jar;C:\Program Files\Java\jdk1.8.0_111\jre\lib\ext\ojdbc6.jar;C:\Program Files\Java\jdk1.8.0_111\jre\lib\ext\sunec.jar;C:\Program Files\Java\jdk1.8.0_111\jre\lib\ext\sunjce_provider.jar;C:\Program Files\Java\jdk1.8.0_111\jre\lib\ext\sunmscapi.jar;C:\Program Files\Java\jdk1.8.0_111\jre\lib\ext\sunpkcs11.jar;C:\Program Files\Java\jdk1.8.0_111\jre\lib\ext\zipfs.jar;C:\Program Files\Java\jdk1.8.0_111\jre\lib\javaws.jar;C:\Program Files\Java\jdk1.8.0_111\jre\lib\jce.jar;C:\Program Files\Java\jdk1.8.0_111\jre\lib\jfr.jar;C:\Program Files\Java\jdk1.8.0_111\jre\lib\jfxswt.jar;C:\Program Files\Java\jdk1.8.0_111\jre\lib\jsse.jar;C:\Program Files\Java\jdk1.8.0_111\jre\lib\management-agent.jar;C:\Program Files\Java\jdk1.8.0_111\jre\lib\plugin.jar;C:\Program Files\Java\jdk1.8.0_111\jre\lib\resources.jar;C:\Program Files\Java\jdk1.8.0_111\jre\lib\rt.jar;C:\Users\Owner\IdeaProjects\untitled\out\production\untitled;C:\Users\Owner\.IdeaIC2017.2\config\plugins\Kotlin\kotlinc\lib\kotlin-stdlib.jar;C:\Users\Owner\.IdeaIC2017.2\config\plugins\Kotlin\kotlinc\lib\kotlin-reflect.jar;C:\Users\Owner\.IdeaIC2017.2\config\plugins\Kotlin\kotlinc\lib\kotlin-test.jar;C:\Users\Owner\.IdeaIC2017.2\config\plugins\Kotlin\kotlinc\lib\kotlin-stdlib-jre7.jar;C:\Users\Owner\.IdeaIC2017.2\config\plugins\Kotlin\kotlinc\lib\kotlin-stdlib-jre8.jar" test.BooleanKt
false
0.2360679774997898
0.2679491924311228
false
1.2676506002282294E30
6.0826678771335774E35
false
4.0
1.0
********************************
请输入第一个数字:
-5
请输入第二个数字:
6
Answer
-2.0
-3.0


-2.0+-3.0=-5.0
-2.0×-3.0=6.0
请输入第一个数字:
1
请输入第二个数字:
2
Answer
NaN
NaN


NaN+NaN=1.0
NaN×NaN=2.0
请输入第一个数字:
3
请输入第二个数字:
4
Answer
NaN
NaN


NaN+NaN=3.0
NaN×NaN=4.0
请输入第一个数字:
3
请输入第二个数字:
3
Answer
NaN
NaN


NaN+NaN=3.0
NaN×NaN=3.0
请输入第一个数字:
3
请输入第二个数字:
2
Answer
2.0
1.0


2.0+1.0=3.0
2.0×1.0=2.0
请输入第一个数字:
 

                
可以使用 Kotlin 的递归函数来求组合。以下是一个示例代码: ```kotlin fun combine(n: Int, k: Int): List<List<Int>> { val result = mutableListOf<List<Int>>() val curr = mutableListOf<Int>() combineHelper(n, k, 1, curr, result) return result } fun combineHelper(n: Int, k: Int, start: Int, curr: MutableList<Int>, result: MutableList<List<Int>>) { if (curr.size == k) { result.add(curr.toList()) return } for (i in start..n) { curr.add(i) combineHelper(n, k, i + 1, curr, result) curr.removeAt(curr.lastIndex) } } ``` 在这个示例中,`combine` 函数接收两个参数 `n` 和 `k`,分别表示从 `n` 个数中选取 `k` 个数进行组合。它首先创建一个空的列表 `result`,然后调用 `combineHelper` 函数来生成所有可能的组合,并将它们添加到 `result` 列表中。最后,`combine` 函数返回 `result` 列表。 `combineHelper` 函数是递归函数,它接收五个参数:`n`,`k`,`start`,`curr` 和 `result`。其中,`n` 和 `k` 的含义与 `combine` 函数相同。`start` 参数表示当前循环应该从哪个数开始选取。`curr` 参数表示当前已经选取的数的列表。`result` 参数表示最终的组合列表。 在 `combineHelper` 函数中,如果当前已经选取了 `k` 个数,那么将当前的列表 `curr` 添加到 `result` 列表中,并返回。否则,从 `start` 开始循环,将每个数依次添加到 `curr` 列表中,并递归调用 `combineHelper` 函数,继续选取下一个数。当递归返回时,将刚刚添加的数从 `curr` 列表中删除,以便进行下一次循环。
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值