[华为机试练习题]39.尼科彻斯定理

题目
描述:

验证尼科彻斯定理,即:任何一个整数m的立方都可以写成m个连续奇数之和。例如:1^3=1 2^3=3+5 3^3=7+9+11 4^3=13+15+17+19

题目类别:
循环

难度:
初级

运行时间限制:
无限制

内存限制:
无限制

阶段:
入职前练习

输入:
整数m(取值范围:1~100)

输出:
尼科彻斯定理成立,输出m个连续奇数(格式:“7+9+11”);否则输出-1

样例输入:
3

样例输出:
7+9+11

【[华为机试练习题]39.尼科彻斯定理】代码
/*--------------------------------------- *日期:2015-07-02 *作者:SJF0115 *题目:尼科彻斯定理 *来源:华为机试练习题 -----------------------------------------*/ #include #include using namespace std; vector Sum(int m){ vector result; if(m <= 0){ return result; }//if int n = m * m * m; int sum,start; for(int i = 1; i <= n; i+=2){ start = i; sum = 0; for(int j = 0; j < m; ++j){ sum += start; result.push_back(start); start += 2; }//for if(sum == n){ return result; }//if else{ result.clear(); }//else }//for return result; } // 输出 void Print(vector result){ int size = result.size(); if(size == 0){ cout<<"-1"< result; while(cin>>n){ result = Sum(n); Print(result); }//while return 0; }

    推荐阅读