整数n拆成平方数的和 (20分)
对于一个正整数n(<100000),想把它拆成k个不同正整数x1,x2,…,xk的平方和, 即满足n=x12+x22+…+xk^2,求x1+x2+…+xk的最大值。如果无法拆分,则输出0。
输入格式:
一个正整数n。
输出格式:
分2行,第一行为对应x1+x2+…+xk的最大值, 如果最大值不为0时,则紧接着换一行输出最小字典序的x1 x2 …xk,否则仅输出第1行的0。
输入样例:
在这里给出一组输入。例如:
6
50
5001
输出样例:
0
12
1 2 3 6
295
1 3 4 5 7 8
原创
2020-12-13 10:36:00 ·
2010 阅读 ·
1 评论