美文网首页
PAT 乙级(Basic Level)kotlin版 1031-

PAT 乙级(Basic Level)kotlin版 1031-

作者: qmr777 | 来源:发表于2020-11-07 19:20 被阅读0次

这道题我人都吐了
用PrintWriter输出的话 测试点0会失败


直接用println就行


妹子

但是其他的测试点可以正常通过

//1031
import java.io.BufferedReader
import java.io.InputStreamReader
import java.io.OutputStreamWriter
import java.io.PrintWriter

fun main(args: Array<String>) {
    val kin = BufferedReader(InputStreamReader(System.`in`))
    val kout = PrintWriter(OutputStreamWriter(System.out))
    val count = kin.readLine().toInt()
    val weight = arrayOf(7, 9, 10, 5, 8, 4, 2, 1, 6, 3, 7, 9, 10, 5, 8, 4, 2)//权重
    val weight2 = arrayOf('1', '0', 'X', '9', '8', '7', '6', '5', '4', '3', '2')//对应
    var w: Int
    var flag = true
    var printed: Boolean
    for (i in 0 until count) {
        val id = kin.readLine().toCharArray()
        printed = false
        w = 0
        for (j in 0..16) {
            if (id[j] - '0' > 9 || id[j] - '0' < 0) {//非数字
                printed = true
                flag = false
                println(id)//用PrintWriter输出 测试点0会失败
                break
            } else
                w += ((id[j] - '0') * weight[j])
        }

        w %= 11
        if (weight2[w] != id.last() && !printed) {
            flag = false
            println(id)//用PrintWriter输出 测试点0会失败
        }
    }
    if (flag)
        println("All passed")//用PrintWriter输出 测试点0会失败
}

然后我不信邪,又用PrintWriter输出了一遍
这次竟然过了。。。?


相关文章

网友评论

      本文标题:PAT 乙级(Basic Level)kotlin版 1031-

      本文链接:https://www.haomeiwen.com/subject/ivjqbktx.html