- 热门文章:
- · 图像分割中阈值的自动选取的研究及其算法实现
- · 【C++/OOP】(侯捷著)
- · 《Borland传奇》序-李维
- · 工作不努力,罚你去印度…
- · 《多收了三五斗》大学毕…
- · 停止思考是一种堕落--…
- · 夜幕下的程序员
- · 《各大IT公司薪金大曝光…
- · 我国加速城市有线电视数字化进程
- · 石家庄市政府“网站集群”全面升级
- · 农垦系统全面信息化启动
- · 推广“绿色电子”天津率先行动
上一篇:水仙花数 >>
刘徽《九章算术》中的勾股数
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
下一篇:图像分割中阈值的自动选取的研究及其算法实现 >>
相关文章:
- · 江西省将实行信息化工程监理体制
- · 美政府电脑系统遭少年黑客攻击
- · 交通运输信息化本周首次亮相亚洲
- · 神州数码20年扎根电子政务
- · 电子政务最好的是加拿大
- · 瞄准“数字莆田”建设
- · 我的门户网站:Yahoo
- · MicrosoftOffice-坚持还…
- · B/S模式安全性探讨
- · 分析网上销售软件是否能…
- · 80/20定律在客户关系管理…
- · 中国到底需不需要CRM
- · 一步一步了解CRM(概念篇)
- · 中国网络公司谁在盈利
- · 王志东预言中国门户网站…
- · CRM中的订单系统
- · 软件开发中项目需求管理简述
- · 跳出程序员的视界 感悟软件测试
- · 杂谈:项目管理的是与非
- · 对项目开发中几种测试类型的理解
- · 初学者入门:软件测试从零开始
- · EA与Rose UML建模工具比较
- · Java手机程序设计入门电…
- · UML谁的硬伤?
- · 《程序员》高展专栏——…
- · 软件工程师的年终总结
- · 企业品牌营销秘诀
- · 企业信息化不仅仅是“无纸化办公”
- · 无网不胜的中小企业网站建设
- · 我国企业电子商务经营战略的探析
- · 企业信息化的基础
- · 智慧型企业的必由之路
- · 五类信用不良企业上网公示
- · 企业信用上网公示
- · 乌鲁木齐市首家公司制孵化器诞生
- · 网上工行装上安全门
- · 张五常为微软说几句话
- · 华为的冬天(任正非)
