//任何一个整数n的立方都可以表示为n个相邻奇数的和,其中最大的奇数为d=2m-1,而m=1+2+3+......+n。试编写程序,由键盘输入n,求n是哪些奇数的和。
#include<stdio.h>
int add(int n)
{
int i, sum = 0;
for (i = 0; i <= n; i++)
sum += i;
return sum;
} //求和函数
int maxodd(int n)
{
int m, d;
m = add(n); //接收n,并调用求和函数保存到中间量m中
d = 2 * m - 1;
return d;
}
int main()
{
int i, n, d;
int flag = 0;
printf("please input a number:\n");
scanf_s("%d", &n);
d = maxodd(n); //找到最大的奇数后向前输出相邻n个即可
for (i = 0; i < n; i++)
{
printf("%5d", d);
d -= 2;
flag++;
if (flag == 5)
{
printf("\n");
flag = 0;
} //一种新颖的求和分段输出法
}
return 0;
}