Submission #55331433
Source Code Expand
Copy
USING: kernel math sequences io ;! ----------- 3個の数値の和を求める -----------0 ! 和となる数値をスタックに積む3 [ ! times により3回繰り返す0 ! 1個の数値を読み込んだ結果となる数値をスタックに積む[ ! 1個の数値の読み込みを行う (loop)read1 ! 1文字読み込むdup 48 >= ! 読み込んだ文字が '0' 以上かを調べるover 58 < ! 読み込んだ文字が '9' 以下かを調べる ('0' 以上かがあるので、over を用いる)and ! 2個の判定を組み合わせ、読み込んだ文字が数字かを調べる[ ! 読み込んだ文字が数字である (t) 場合、以下の処理を行う48 - ! 読み込んだ文字(コード)から '0' を引き、数値に変換するswap 10 * + ! これまでの変換結果の10倍に、変換した数値を足す (変換結果を更新する)t ! 変換のループを続行する][ ! 読み込んだ文字が数字でない (f) 場合、以下の処理を行うdrop ! 読み込んだ文字を捨てるf ! 変換のループを終了する]
USING: kernel math sequences io ; ! ----------- 3個の数値の和を求める ----------- 0 ! 和となる数値をスタックに積む 3 [ ! times により3回繰り返す 0 ! 1個の数値を読み込んだ結果となる数値をスタックに積む [ ! 1個の数値の読み込みを行う (loop) read1 ! 1文字読み込む dup 48 >= ! 読み込んだ文字が '0' 以上かを調べる over 58 < ! 読み込んだ文字が '9' 以下かを調べる ('0' 以上かがあるので、over を用いる) and ! 2個の判定を組み合わせ、読み込んだ文字が数字かを調べる [ ! 読み込んだ文字が数字である (t) 場合、以下の処理を行う 48 - ! 読み込んだ文字(コード)から '0' を引き、数値に変換する swap 10 * + ! これまでの変換結果の10倍に、変換した数値を足す (変換結果を更新する) t ! 変換のループを続行する ] [ ! 読み込んだ文字が数字でない (f) 場合、以下の処理を行う drop ! 読み込んだ文字を捨てる f ! 変換のループを終了する ] if ! 読み込んだ文字が数字かによって、上記の処理を行う ] loop + ! 読み込んだ数値を和に加算する ] times ! ----------- 求めた和を十進数で表現し、出力する ----------- { } swap ! 和(数値)の後ろに、十進数表現を格納する配列を置く [ ! 和(数値)を十進数に変換する (loop) 10 /mod ! 和(数値)を10で割り、商と余りを求める 48 + ! 求めた余りに '0' を足し、数字に変換する ! この時点でのスタック:配列 商 数字 swapd ! 数字を配列に追加するため、配列を移動する ! この時点でのスタック:商 配列 数字 prefix ! 数字を配列の先頭に追加する ! この時点でのスタック:商 配列 swap ! 配列の位置を戻す ! この時点でのスタック:配列 商 dup 0 = not ! 残っている商が0でないかを判定する (0でない間ループを続ける) ] loop drop ! 商 (0) を捨てる write ! 変換結果の配列を出力する ! ----------- 値と文字列の間の空白を出力する ----------- 32 write1 ! 数値と文字列の間の空白を出力する ! ----------- 文字列 s を出力する ----------- [ ! 文字列の出力を行う (loop) read1 ! 1文字読み込む dup write1 ! 読み込んだ文字を確認できるようにコピーし、出力する 10 = not ! 読み込んだ文字が '\n' かを判定する ('\n' でない間ループを続ける) ] loop
Submission Info
Submission Time | |
---|---|
Task | PracticeA - Welcome to AtCoder |
User | mikecat |
Language | Factor (Factor 0.98) |
Score | 100 |
Code Size | 3153 Byte |
Status | AC |
Exec Time | 458 ms |
Memory | 245068 KB |
Judge Result
Set Name | All | ||
---|---|---|---|
Score / Max Score | 100 / 100 | ||
Status |
|
Set Name | Test Cases |
---|---|
All | 00_rnd_01.txt, 00_rnd_02.txt, 00_rnd_03.txt, 00_rnd_04.txt, 00_rnd_05.txt, 00_sample_1.txt, 00_sample_2.txt |
Case Name | Status | Exec Time | Memory |
---|---|---|---|
00_rnd_01.txt | AC | 458 ms | 245068 KB |
00_rnd_02.txt | AC | 165 ms | 132000 KB |
00_rnd_03.txt | AC | 142 ms | 131892 KB |
00_rnd_04.txt | AC | 185 ms | 131808 KB |
00_rnd_05.txt | AC | 155 ms | 131960 KB |
00_sample_1.txt | AC | 177 ms | 131748 KB |
00_sample_2.txt | AC | 172 ms | 131884 KB |