尼科徹斯定理

2022-05-05 07:45:11 字數 1016 閱讀 5631

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

*問題分析與演算法設計

本題是乙個定理,我們先來證明它是成立的。

對於任一正整數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 提示 本題是乙個定理...