驗證尼科徹斯定理,即:任何乙個整數的立方都可以寫成一串連續奇數的和。××
*問題分析與演算法設計
本題是乙個定理,我們先來證明它是成立的。
對於任一正整數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
int main()
{int a,b,c,d;
printf("please enter a number:");
scanf("%d",&a); /*輸入整數*/
b=a*a*a; /*求整數的三次方*/
printf("%d*%d*%d=%d=",a,a,a,b);
for(d=0,c=0;c*執行結果
1) please enter a number:13
13*13*13=2197=157+159+161+163+165+167+169+171+173+175+177+179+181 y
2) please enter a number:14
14*14*14=2744=183+185+187+189+191+193+195+197+199+201+203+205+207+209 y
*思考題
本題的求解方法是先證明,在證明的過程中找到程式設計的演算法,然後實現程式設計。實際上我們也可以不進行證明,直接使用程式設計中常用的試探方法來找出該數列,驗證該定理。請讀者自行設計演算法。當然這樣得到的數列可能與用定理方法得到的數列不一樣。
尼科徹斯定理
題目描述 驗證尼科徹斯定理,即 任何乙個整數m的立方都可以寫成m個連續奇數之和。例如 1 3 1 2 3 3 5 3 3 7 9 11 4 3 13 15 17 19 介面說明 原型 功能 驗證尼科徹斯定理,即 任何乙個整數m的立方都可以寫成m個連續奇數之和。原型 int getsequeoddnu...
尼科徹斯定理
驗證尼科徹斯定理,即 任何乙個整數的立方都可以寫成一串連續奇數的和。問題分析與演算法設計 本題是乙個定理,我們先來證明它是成立的。對於任一正整數a,不論a是奇數還是偶數,整數 a a a 1 必然為奇數。a a a 1 a 1 xa 1 奇數乘偶數必為偶數,在加上1,就是奇數了。構造乙個等差數列,等...
尼科徹斯定理
驗證尼科徹斯定理,即 任何乙個正整數的立方都可以寫成一串連續奇數的和。輸入 任一正整數 輸出 該數的立方分解為一串連續奇數的和 樣例輸入 13樣例輸出 131313 2197 157 159 161 163 165 167 169 171 173 175 177 179 181 提示 本題是乙個定理...