求一个自然数n的立方和等于连续的n个奇数相加。
例如:
4的立方=13+15+17+19;
#include<stdio.h>
int main()
{
int n,m,i;
scanf("%d",&n);
printf("%d的立方=",n);
m=(n*n-n)/2;//这里的m的表达式是推导出来的。
//即 n的立方可以写成 例如设第一个奇数为 (2*m+1)....以此类推第n位是(2*m+2*n-1)故,n的立方=(2*m+1)+(2*m+2)+(2*m+3)....+(2*m+2*n-1);经过移项并整理得,m=(n*n-n)/2;
for(i=1;i<2*n-1;i=i+2)//i为何不等于2*n-1是为了不在最后出现加号,所以在循环外面写了一个printf语句,目的是得到最后一个奇数。
printf("%d+",2*m+i); //为何用2*m+1由上面推导式看出。
printf("%d\n",2*m+i);
return 0;
}