【C語言訓練】尼科徹斯定理


題目描述
驗證尼科徹斯定理,即:任何一個正整數的立方都可以寫成一串連續奇數的和。

輸入
任一正整數

輸出
該數的立方分解為一串連續奇數的和

樣例輸入
13
樣例輸出
13*13*13=2197=157+159+161+163+165+167+169+171+173+175+177+179+181
提示
本題是一個定理,我們先來證明它是成立的。

對於任一正整數a,不論a是奇數還是偶數,整數(a×a-a+1)必然為奇數。

構造一個等差數列,數列的首項為(a×a-a+1),等差數列的差值為2(奇數數列),則前a項的和為:

a×((a×a-a+1))+2×a(a-1)/2

=a×a×a-a×a+a+a×a-a

=a×a×a

定理成立。證畢。

通過定理的證明過程可知L所要求的奇數數列的首項為(a×a-a+1),長度為a。編程的算法不需要特殊設計,
可按照定理的證明過直接進行驗證。*/
#include<iostream>
using namespace std;

int main()
{
unsigned long long a,i,c;
cin>>a;
if(a>0)
{
unsigned long long b[a];
b[0]=a*a-a+1;
for(i=1;i<a;i++)
{
b[i]=b[i-1]+2;
}
c=a*a*a;
cout<<a<<"*"<<a<<"*"<<a<<"="<<c<<"=";
for(i=0;i<a;i++)
{
cout<<b[i];
if(i<a-1)cout<<"+";
else cout<<endl;
}
}
return 0;
}


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM