結果

問題 No.1593 Perfect Distance
ユーザー ComiComi
提出日時 2021-07-09 22:15:38
言語 Go
(1.22.1)
結果
AC  
実行時間 2 ms / 2,000 ms
コード長 1,218 bytes
コンパイル時間 12,975 ms
コンパイル使用メモリ 211,492 KB
実行使用メモリ 4,380 KB
最終ジャッジ日時 2023-09-14 09:28:22
合計ジャッジ時間 13,601 ms
ジャッジサーバーID
(参考情報)
judge13 / judge12
このコードへのチャレンジ
(要ログイン)

テストケース

テストケース表示
入力 結果 実行時間
実行使用メモリ
testcase_00 AC 1 ms
4,380 KB
testcase_01 AC 1 ms
4,380 KB
testcase_02 AC 2 ms
4,380 KB
testcase_03 AC 1 ms
4,380 KB
testcase_04 AC 1 ms
4,380 KB
testcase_05 AC 1 ms
4,376 KB
testcase_06 AC 1 ms
4,380 KB
testcase_07 AC 2 ms
4,376 KB
testcase_08 AC 1 ms
4,380 KB
testcase_09 AC 1 ms
4,376 KB
testcase_10 AC 1 ms
4,380 KB
testcase_11 AC 2 ms
4,380 KB
testcase_12 AC 2 ms
4,380 KB
testcase_13 AC 1 ms
4,380 KB
testcase_14 AC 1 ms
4,376 KB
testcase_15 AC 1 ms
4,376 KB
testcase_16 AC 2 ms
4,376 KB
testcase_17 AC 1 ms
4,376 KB
testcase_18 AC 1 ms
4,376 KB
testcase_19 AC 1 ms
4,380 KB
権限があれば一括ダウンロードができます

ソースコード

diff #

package main

import (
	"bufio"
	"fmt"
	"math"
	"os"
)

var reader = bufio.NewReader(os.Stdin)
var writer = bufio.NewWriter(os.Stdout)

// func toDigits(x, base int) []int {
// 	if x == 0 {
// 		return []int{0}
// 	}
//
// 	ans := make([]int, 0)
// 	for x != 0 {
// 		ans = append(ans, x%base)
// 		x = x / base
// 	}
// 	return ans
// }
//
// func main() {
// 	defer writer.Flush()
//
// 	var n int
// 	fmt.Fscan(reader, &n)
//
// 	var a = make([]int, n)
// 	for i := 0; i < n; i++ {
// 		fmt.Fscan(reader, &a[i])
// 	}
//
// 	b, c, d := j
// 	for i := 0; i < 3; i++ {
// 		if i == 0 {
// 			a
// 		}
//
// 		for j := 0; j < 3; j++ {
// 			for k := 0; k < 3; k++ {
// 				for l := 0; l < 3; l++ {
// 					for m := 0; m < 3; m++ {
// 					}
// 				}
// 			}
// 		}
// 	}
// 	sort.Slice(a, func(i, j int) bool { return a[i] > a[j] })
// 	b, c, d := 0, 0, 0
// 	for i := 0; i < n/3; i++ {
// 		b += a[i]
// 		c += a[i+1]
// 		d += a[i+2]
// 	}
//
// }

func main() {
	defer writer.Flush()

	var n int
	fmt.Fscan(reader, &n)

	m := n * n

	ans := 0
	for i := 1; i < n; i++ {
		y := m - i*i
		pre := int(math.Sqrt(float64(y)))

		if i*i < y && y == pre*pre {
			ans++
		}
	}
	ans *= 2

	fmt.Fprintf(writer, "%v\n", ans)
}
0