#GP26528. 平方差(square)

平方差(square)

题目描述

小 H 在黑板上写下了两个非负整数 aa 和 bb ( a>b≥0a > b \ge 0 ),然后计算了它们的平方差 a2−b2=Na^2 - b^2 = N ,并把结果 NN 告诉了朋友。

现在小 H 自己也忘记了当初选的 aa 和 bb 是多少。他只知道 NN ,想知道 可能有多少种不同的 (a,b)(a, b) 组合 满足条件。

你能帮帮他吗?

输入格式

从文件 square.in 中读入数据。

一行一个正整数 NN 。

输出格式

输出到文件 square.out 中。

输出一行一个整数,表示满足 a2−b2=Na^2 - b^2 = N ( a>b≥0a > b \ge 0 )的非负整数对 (a,b)(a,b) 的个数。

样例

15
2
16
2

样例解释

样例 11 的解释:

  • 15=42−12=16−115 = 4^2 - 1^2 = 16 - 1
  • 15=82−72=64−4915 = 8^2 - 7^2 = 64 - 49
    共有 22 种组合。

样例 22 的解释:

  • 16=52−32=25−916 = 5^2 - 3^2 = 25 - 9
  • 16=42−02=16−016 = 4^2 - 0^2 = 16 - 0
    共有 22 种组合。

数据规模与约定

测试点编号 N≤N\le 特殊性质
1∼31\sim 3 100100 无
4∼54\sim 5 10610^{6}
6∼76\sim 7 101210^{12} NN 是质数
8∼108\sim 10 无

下发文件