描述
验证尼科彻斯定理,即:任何一个整数m的立方都可以写成m个连续奇数之和。
例如:
1^3=1
2^3=3+5
3^3=7+9+11
4^3=13+15+17+19
输入一个正整数m(m≤100),将m的立方写成m个连续奇数之和的形式输出。
#include<iostream>
#include<math.h>
using namespace std;
int main()
{
int m;
while (cin >> m)
{
int sum = pow(m, 3);
int a = (sum * 2 / m + 2 - 2 * m) / 2;//等差数列:sum=(上底+下底)*h/2;公差是2;sum=(a+a+2*(m-1))*m/2
for (int i = 0; i < m; i++)
{
cout << a + i * 2;
if (i != m - 1)
cout << "+";
}
cout <<endl;
}
return 0;
}