【Description】
我们大家都知道勾股定理:
3
2
+
4
2
=
5
2
3^2+4^2=5^2
32+42=52,其中3,4,5是连续的自然数;同时,连续自然数10,11,12,13,14之间也有关系式:
1
0
2
+
1
1
2
+
1
2
2
=
1
3
2
+
1
4
2
10^2+11^2+12^2=13^2+14^2
102+112+122=132+142,你从中得到了什么启发?
问题:给定自然数n(1≤n≤1000),请判断是否存在2n+1个连续的自然数,满足左边n+1个数的平方和等于右边n个数的平方和?若存在,则输出这2n+1个数。
【Input】
输入自然数n(1≤n≤1000)。
【Output】
若存在,则输出这2*n+1个数,每两个数之间一个空格;否则输出No。
【Sample Input】
2
【Sample Output】
10 11 12 13 14
示例代码
#include "stdio.h"
int main(int argc, char const *argv[])
{
int n,i,j,lsum,rsum;
scanf("%d",&n);
for (i=0; i<10000; i++)
{
lsum = 0;
rsum =0;
for (j=0; j<=n; j++)
lsum += (i+j)*(i+j);
for (j=n+1; j<=2*n; j++)
rsum += (i+j)*(i+j);
if (lsum == rsum)
{
for (j=0; j<2*n+1; j++)
printf("%d ", i+j);
printf("\n");
}
}
return 0;
}