验证尼科彻斯定理,即:任何一个整数m的立方都可以写成m个连续奇数之和。m属于[1,100],超出范围则报错。
例如:
1^3=1
2^3=3+5
3^3=7+9+11
4^3=13+15+17+19
这个很简单,通过归纳总结可以得出规律:
展开式从(n*n - n + 1)开始,步进2显示,共显示n个数。
代码如下:
#include <iostream>
#define MAX_SIZE 100
#define MIN_SIZE 1
using namespace std;
int main()
{
int nValue;
int start_value;
int index;
while(cin >> nValue)
{
if(nValue < MIN_SIZE || nValue > MAX_SIZE)
{
cout << -1 << endl;
break;
}
start_value = nValue * nValue - nValue + 1;
index = 0;
while(index < nValue)
{
if(0 != index)
{
cout << "+";
}
cout << start_value + index * 2;
index++;
}
cout << endl;
}
return 0;
}