c++,验证任何一个自然数n的立方都可以写成n个连续奇数之和,求修改#includevoid main( ){int n,i,j=1,h,k=0;cin>>n;h=n*n*n;for(i=1;i

来源:学生作业帮助网 编辑:作业帮 时间:2024/06/02 07:32:36
c++,验证任何一个自然数n的立方都可以写成n个连续奇数之和,求修改#includevoid main( ){int n,i,j=1,h,k=0;cin>>n;h=n*n*n;for(i=1;i
xUNA~mOb , KDI e+& ԗ]ޢ3;4̹|;ߙ@:qAcWה^Oy8TЋ mzxMwY= 6$+:>UKG=}zMX/@SvYv]yj[D(9%DdX3sE"Xl<8E n9fч23B Ōq3M0LJ($mF=PUyj-HdžV(5ĢdџNՋ{lki?~ipynJ(ݪ.ב[ukt! \;Cx(au~.@*j;XA*.h6/B¹~/;b6MW+u]V1tĨWeؕX! &V'pZJkfX:F2#p%%xs@BQuaF#!rB*+fpұ$bz' `pϦ4:q, _ `&UrI] J4qc3c'U1ps8 fi(ʉaS.%rCg*FL, x9;Ts`ֶ8-r6_,u|B9% DttN*$&CAM)qUIj#`W tWT6mbQ\Y03<& -秏&!#moef|x/_XXHcJ|~`@^Wat

c++,验证任何一个自然数n的立方都可以写成n个连续奇数之和,求修改#includevoid main( ){int n,i,j=1,h,k=0;cin>>n;h=n*n*n;for(i=1;i
c++,验证任何一个自然数n的立方都可以写成n个连续奇数之和,求修改
#include
void main( )
{int n,i,j=1,h,k=0;
cin>>n;
h=n*n*n;
for(i=1;i

c++,验证任何一个自然数n的立方都可以写成n个连续奇数之和,求修改#includevoid main( ){int n,i,j=1,h,k=0;cin>>n;h=n*n*n;for(i=1;i
你目前的循环 只是从1累加 这样是不符合题意的
应该是对于一些列的奇数 做从该奇数开始 共计n个奇数的累加 直到和为立方值为止
这个是思路 
接下来是我写的程序,中间对累加做了优化 采用等差数列求和公式 减少循环开销
供参考
#include <iostream>
using namespace std;
int main()
{
\x05int n;
\x05int i;
\x05int n3, sum;
\x05cin >> n;
\x05if(n > 1290 || n < -1290) 
\x05{
\x05\x05cout << "out of range\n";
\x05\x05return -1;
\x05}
\x05n3 = n*n*n;
\x05for(i = 1; ; i +=2)
\x05{
\x05\x05sum = (i + n - 1)*n;
\x05\x05if(sum == n3) 
\x05\x05{
\x05\x05\x05cout<<"ok. " << n << "^3 = " << n3 << "= " << i << "+ ... + "<< i+2*n-2<<endl;
\x05\x05\x05break;
\x05\x05}
\x05\x05if(sum > n3) break;
\x05}
\x05if(sum != n3) cout << "failed" << endl;
\x05return sum != n3;
}