結果
問題 |
No.1157 Many Quotients easy
|
ユーザー |
![]() |
提出日時 | 2024-12-23 21:37:33 |
言語 | Go (1.23.4) |
結果 |
AC
|
実行時間 | 1 ms / 2,000 ms |
コード長 | 564 bytes |
コンパイル時間 | 17,025 ms |
コンパイル使用メモリ | 219,744 KB |
実行使用メモリ | 5,248 KB |
最終ジャッジ日時 | 2024-12-23 21:38:00 |
合計ジャッジ時間 | 12,719 ms |
ジャッジサーバーID (参考情報) |
judge3 / judge4 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 2 |
other | AC * 22 |
ソースコード
package main import . "fmt" import . "math/big" func main() { var n int64 Scan(&n) Println(solve(n)) } func check() { for n := 1; n < 10000; n++ { s:=solve(int64(n)) b:=bruteforce(n) if s!= b { Println(n, s, b) return } } Println("ok") } func solve(nn int64) int64 { n:=NewInt(nn) x:=new(Int).Sqrt(n) if x.Cmp(new(Int).Div(n, x))==0 { return x.Add(x,x).Sub(x,NewInt(1)).Int64() } else { return x.Add(x,x).Int64() } } func bruteforce(n int) int64 { m:=map[int]bool{} for k:=1; k<=n; k++ { m[n/k]=true } return int64(len(m)) }