結果
問題 | No.756 チャンパーノウン定数 (1) |
ユーザー | Light606F |
提出日時 | 2018-12-14 14:18:16 |
言語 | Kotlin (1.9.23) |
結果 |
WA
|
実行時間 | - |
コード長 | 1,799 bytes |
コンパイル時間 | 12,119 ms |
コンパイル使用メモリ | 437,124 KB |
実行使用メモリ | 54,520 KB |
最終ジャッジ日時 | 2024-04-30 19:43:40 |
合計ジャッジ時間 | 17,575 ms |
ジャッジサーバーID (参考情報) |
judge4 / judge5 |
(要ログイン)
テストケース
テストケース表示入力 | 結果 | 実行時間 実行使用メモリ |
---|---|---|
testcase_00 | WA | - |
testcase_01 | WA | - |
testcase_02 | WA | - |
testcase_03 | WA | - |
testcase_04 | WA | - |
testcase_05 | WA | - |
testcase_06 | WA | - |
testcase_07 | WA | - |
testcase_08 | WA | - |
testcase_09 | WA | - |
testcase_10 | WA | - |
testcase_11 | WA | - |
testcase_12 | WA | - |
testcase_13 | WA | - |
testcase_14 | WA | - |
testcase_15 | WA | - |
testcase_16 | WA | - |
testcase_17 | WA | - |
testcase_18 | WA | - |
testcase_19 | WA | - |
testcase_20 | WA | - |
testcase_21 | WA | - |
testcase_22 | WA | - |
コンパイルメッセージ
Main.kt:45:5: warning: unreachable code return -x ^
ソースコード
/** * You can edit, run, and share this code. * play.kotlinlang.org */ import kotlin.math.* fun main() { println(f(190f)) println(f(191f)) println(f(192f)) println(f(3553f)) } fun f(x: Float): Float{ println("input = " + x) var keta=1 while(x>=numKeta(keta)){ keta++ } println("keta = " + keta) if(keta == 1){ return x }else{ val to0 = numKeta(keta-1)%keta var flag: Float flag = x%keta-to0 if(flag < 0){ flag = keta + flag } val num = floor((x-numKeta(keta-1))/(keta)) +10f.pow(keta-1) //0を0として何個目か println("0を0として何個目か : " + num) println("no nankomeka : " + flag) var k: Array<Float?> = arrayOfNulls(keta) for(i in keta-1 downTo 0){ val diff = keta-(i+1) k[i] = floor(num/10f.pow(i)) - minusNum(k, keta, diff) } return k[keta-1-flag.toInt()]!! } return -x } fun minusNum(k: Array<Float?>, keta:Int, diff: Int): Int{ if(diff==0){ return 0 }else if(diff<0){ println("ERROR001") return -1 }else{ var sum: Float = 0f for(i in 0..diff-1){ // println("in munusNum, i : " + i) // println("in munusNum, keta-i : " + (keta-i)) sum += k[keta-(i+1)]!!*10f.pow(diff-i) } return sum.toInt() } } fun numKeta(keta: Int): Int{ //桁までの数字の数 var sum = 0 for(i in 1..keta){ sum += forSigNumKeta(i) } return sum } fun forSigNumKeta(n: Int): Int{ if(n<=0){ println("ERROR") return -1 } if(n == 1){ return 10 }else{ return (9*10f.pow(n-1)*n).toInt() } }