結果
| 問題 |
No.816 Beautiful tuples
|
| コンテスト | |
| ユーザー |
tsuchinaga
|
| 提出日時 | 2019-04-20 23:45:58 |
| 言語 | Go (1.23.4) |
| 結果 |
AC
|
| 実行時間 | 219 ms / 1,500 ms |
| コード長 | 747 bytes |
| コンパイル時間 | 12,506 ms |
| コンパイル使用メモリ | 232,824 KB |
| 実行使用メモリ | 6,824 KB |
| 最終ジャッジ日時 | 2024-10-02 10:09:49 |
| 合計ジャッジ時間 | 12,628 ms |
|
ジャッジサーバーID (参考情報) |
judge4 / judge5 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| other | AC * 15 |
ソースコード
package main
import "fmt"
func main() {
var a, b int
_, _ = fmt.Scan(&a, &b)
check := func(c int) bool {
return a != c && b != c && (a+b)%c == 0 && (b+c)%a == 0 && (c+a)%b == 0
}
if check(1) {
fmt.Println(1)
return
}
// 素因数分解
n := a + b
pn := make([]int, 0)
for i := 2; i < n+1; i++ {
if n%i == 0 {
is := true
for _, p := range pn {
if i%p == 0 {
is = false
break
}
}
if is {
for n%i == 0 {
n /= i
// fmt.Println(i, n)
pn = append(pn, i)
}
}
}
}
// fmt.Println(pn)
pattern := map[int]int{1: 1}
for _, p := range pn {
for q := range pattern {
if check(p * q) {
fmt.Println(p * q)
return
}
pattern[p*q] = 1
}
}
fmt.Println(-1)
}
tsuchinaga