結果
| 問題 |
No.782 マイナス進数
|
| コンテスト | |
| ユーザー |
6soukiti29
|
| 提出日時 | 2019-07-14 02:21:28 |
| 言語 | Nim (2.2.0) |
| 結果 |
CE
(最新)
AC
(最初)
|
| 実行時間 | - |
| コード長 | 788 bytes |
| コンパイル時間 | 1,111 ms |
| コンパイル使用メモリ | 64,820 KB |
| 最終ジャッジ日時 | 2024-07-02 05:49:31 |
| 合計ジャッジ時間 | 1,903 ms |
|
ジャッジサーバーID (参考情報) |
judge2 / judge4 |
(要ログイン)
コンパイルエラー時のメッセージ・ソースコードは、提出者また管理者しか表示できないようにしております。(リジャッジ後のコンパイルエラーは公開されます)
ただし、clay言語の場合は開発者のデバッグのため、公開されます。
ただし、clay言語の場合は開発者のデバッグのため、公開されます。
コンパイルメッセージ
/home/judge/data/code/Main.nim(15, 30) Error: type mismatch: got 'seq[int]' for 'map(split(readLine(stdin), {' ', '\t', '\v', '\r', '\n', '\f'}, -1), parseInt)' but expected 'tuple'
ソースコード
import sequtils,strutils
var
t,B,N : int
proc pow(a, b : int) :int=
if b == 0:
return 1
elif b == 1:
return a
elif b mod 2 == 0:
return pow(a * a, b div 2)
else:
return pow(a, b - 1) * a
(t, B) = stdin.readline.split.map(parseInt)
B *= -1
for i in 0..<t:
N = stdin.readline.parseInt
if N == 0:
echo 0
continue
var s : string = ""
for k in 0..33:
if N == 0:
break
if k mod 2 == 0:
var c = (N mod pow(B, k + 1)) div pow(B, k)
N -= c * pow(B, k)
s = $c & s
else:
var c = (N mod pow(B, k + 1)) div pow(B, k)
if c != 0:
c = B - c
N += c * pow(B , k)
s = $c & s
echo s
6soukiti29