在论坛上看到这样的题目: 任意一个正整数的立方都可以写成一串连续奇数和。例如: 13*13*13=157+159+。。。。。。+179+181+183 这道题的算法是:任意输入的正整数的平方为x,那么一串连续奇数的第一个数应为x减去这个正整数减一, 按等差为2的数列直到x加上这个正整数减一.例如:如果输入为12,即求12的立方, 则应为:144-(12-1)=133,135,137,139.........144+(12-1)=155. 程序: #include<iostream> #include<cmath> using namespace std; int main() { int num; cout<<"plese input the num:"; cin>>num; int num2=pow(num,2); int sum=num2-(num-1),sum2=num2+num-1; cout<<endl<<"the result is:"<<endl; cout<<num<<"*"<<num<<"*"<<num<<"="<<sum; while(sum<=sum2) { sum+=2; cout<<"+"<<sum; } return 0; }

评论