結果
| 問題 |
No.756 チャンパーノウン定数 (1)
|
| コンテスト | |
| ユーザー |
|
| 提出日時 | 2018-12-06 12:10:45 |
| 言語 | Go (1.23.4) |
| 結果 |
AC
|
| 実行時間 | 2 ms / 2,000 ms |
| コード長 | 634 bytes |
| コンパイル時間 | 11,251 ms |
| コンパイル使用メモリ | 224,580 KB |
| 実行使用メモリ | 6,816 KB |
| 最終ジャッジ日時 | 2024-09-14 02:24:39 |
| 合計ジャッジ時間 | 12,017 ms |
|
ジャッジサーバーID (参考情報) |
judge4 / judge6 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| sample | AC * 3 |
| other | AC * 20 |
ソースコード
//usr/bin/env go run $0 $@;exit
package main
import(
"fmt"
"os"
"text/scanner"
"strconv"
)
var sin scanner.Scanner
func scanint() int64{
tok:=sin.Scan()
if tok==scanner.EOF {return -1}
ret,_ := strconv.ParseInt(sin.TokenText(),10,64)
return ret
}
func main(){
sin.Init(os.Stdin)
var starting,bse,n,digits,expbase,x,num int64
starting=1
bse=10
for {
n=scanint()
if n==-1 {break}
n+=starting-2
digits=1
expbase=1
x=bse-1
for x<=n {
n-=x
digits+=1
expbase*=bse
x=digits*expbase*(bse-1)
}
num=expbase+n/digits
d:=digits-1-n%digits
for ;d>0;d-- {
num/=bse
}
fmt.Println(num%bse)
}
}