文字列を使用せずに(入力や出力などの必要な場合を除き)、整数の(10を底とする)左から n番目の桁を計算します。
入力は次の形式で提供されます。
726433 5
出力は次のとおりです。
3
それは「726433」の5桁目です。
入力には、先行するゼロは含まれません(例: "00223")。
テストケース/その他の例:
9 1 -> 9
0 1 -> 0
444494 5 -> 9
800 2 -> 0
これはコードゴルフです。最小の文字数が勝ちますが、「nthDigit(x、n)」などの組み込み関数は受け入れられません。
始めるための擬似コードを次に示します。
x = number
n = index of the digit
digits = floor[log10[x]] + 1
dropRight = floor[x / 10^(digits - n)]
dropLeft = (dropRight / 10 - floor[dropRight / 10]) * 10
nthDigit = dropLeft
お分かりのように、私はゴルフをコーディングするのは初めてであり、答える前に質問するのは少し不公平だと思いますが、これがどのような反応を生み出すかを本当に見たいです。:)
編集:私は数学的な答えを望んでいたので、文字列を配列に変換するか、数字のリストとして数字にアクセスできることに依存する答えを実際に受け入れることはできません。
勝者がいます
「dc」で書かれた、12バイト。によってDigitalTrauma。