题目
描述
验证尼科彻斯定理,即:任何一个整数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个连续奇数之和的形式输出。
数据范围:1≤m≤100 1≤m≤100
输入描述:
输入一个int整数
输出描述:
输出分解后的string
思路
观察发现整数M的平方为连续奇数之和的中间值,定义为middle,数列第一项为middle-M+1,则在每一项末尾添加+号既得输出字符串。
代码
#include <iostream>
using namespace std;
int main() {
int num;
cin >> num;
int middle = num * num;
for (int i = 0; i < num; i++)
{
cout << middle - num + 1 + 2 * i;
if (i != num - 1)
{
cout << "+";
}
}
return 0;
}