日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

c语言使用循环编写勾股数,刘徽《九章算术》中的勾股数

發布時間:2024/8/23 编程问答 37 豆豆
生活随笔 收集整理的這篇文章主要介紹了 c语言使用循环编写勾股数,刘徽《九章算术》中的勾股数 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

若A、B、C為滿足A2+B2=C2的正整數。我國古代數學書《周髀算經》曾經提到“勾廣三,股修四,徑偶五”這三個邊都是正整數的直角三角形。在公元263年時,我國數學家:劉徽寫了一本數學書,書名叫作《九章算術》,其中有

32+42=52

52+122=132

72+242=252

82+152=172

202+212=292

由此看來我國古代數學家已經研究出很多組勾股數。

(一)??見程序設計思路筆算從略

請你編寫程序,求出100之內的所有組勾股數,并打印全部結果。

(二)??程序設計

設計思路

由不定方程:A2+B2=C2??????(1)

有定理:不定方程(1)的適合條件

A>0,??B>0,???C>0,????(A,B)=1,2 A

的一切正整數解,可用下列公式表示出來:

A=2XY,????B=X2-Y2,????C=X2+Y2

這里的X和Y都是正整數,而且X>Y (X、Y)=1,2(X+Y)

如果按照此定理編寫出源程序當然是可以的。但對不了解此定理的讀者這樣編寫就比較困難。所以這里使用一般的方法。首先設法得到從3到100之間的數的兩組合。利用二重循環可以達到這一目的。令外循環變量為A,A從1到99。令內循環的循環變量為B,B從A+1到100。然后在循環體內判斷A和B是否滿足等式(1)。

將滿足等式的A和B及C打印出來。為了縮短機器運算時間,我們可以利用勾股數的奇偶特性。即在A和B中一個是奇數,另一個必定是偶數。那么可以讓B從A+1開始,每次增加步長為2。因為A若是奇數,A+1就是偶數。以后步長是2,B總是為偶數。如果A是偶數,A+1就是奇數。以后步長是2,B總為奇數。我們用整形變量I、J、L分別代表A、B、C

FORTRON源程序:

WRITE(*,30)

DO 10 I=3,99

K=I+1

DO 10 J=K,100,2

S=I*I+J*J

S=SQRT(S)

L=S

IF(L.GT.100.OR.ABS(S-L).GT.0.1E-06) GOTO 10

WRITE(*,20)I,J,L

10 CONTINUE

20??FORMAT(2IX,3I5)

30??FORMAT(25X,’A??????????B???????????C ‘/20X,’--------------------’)

END

BASIC源程序

10 PRINT "A??????????????B???????????????C"

20 PRINT "--------------------------------"

30 FOR I = 3 TO 99

40???K = I + 1

45???FOR J = K TO 100

50?????S = I * I + J * J

60?????S = SQR(S)

70?????L = INT(S)

80?????IF L >= 100 OR L <> S THEN 100

90?????PRINT I, J, L

100???????????NEXT J

110???NEXT I

總結

以上是生活随笔為你收集整理的c语言使用循环编写勾股数,刘徽《九章算术》中的勾股数的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。