/ WHOJ / 题库 /

平方和分解(文件IO)

平方和分解(文件IO)

题目描述

John 喜欢研究数字, 他把一些连续整数的平方和累加起来, 例如: \(21^2+22^2+23^2+24^2=2030\),然后他又发现:\(25^2+26^2+27^2=2030\)。现在他把这个问题反过来看,给定一个正整数 \(n\),能否把 \(n\) 分解成若干个连续的正整数的平方和。John 发现有时数字太大,他无法验证,请你编程帮助他验证这个分解式。

格式

输入格式

仅一个正整数 \(n(≤10^{14})\)。

输出格式

第一行是分解方案数 \(t\);接下来 \(t\) 行,每行表示一个解,每个解只要输出连续的第一个数 \(a\) 和最后一个数 \(b\)。按 \(a\) 值大小的升序输出。如果不能分解,直接输出 \(1\) 个 \(0\)。

样例1

输入样例1

2030

输出样例1

2
21 24
25 27

来源

地址:芜湖市二十七中电脑班刷题课
作者:汪老师
模拟赛\(T4\)

文件IO

freopen("squares.in","r",stdin);
freopen("squares.out","w",stdout);