Scratch趣味数学
2020-06-21陈新龙
电脑报 2020年22期
关键词:程序
陈新龙
西汉的数学著作《周髀算经》中记载,周公问商高:“天不可阶而升,地不可将尽寸而度。”天的高度和大地的面积该怎样测得?商高说:“故折矩以为勾广三,股修四,经隅五。”古时候人们把手臂的上半部分称为“勾”,下半部分称为“股”。商高的意思是:当直角三角形的两条直角边分别为3(短边)和4(长边)时,径隅(就是弦)则为5。这就是我们常说的“勾三股四弦五”,也就是勾股定理。
勾股定理:直角三角形的两条直角边a和b的平方之和等于斜边c的平方(a2+b2=c2),前提是满足三角形的定义(任意两边之和大于第三边),符合勾股定理的数字就是勾股数,勾股数又叫做毕氏三元数。比如勾股数32+42=52或者62+82=102。
那么如何才能计算出边长在100以内所有的勾股数呢?如果我们单纯地用笔纸计算,显然不太合理,而且计算量太大,我们不妨试试Scratch,用编程的方法输出这些勾股数。
首先各条边长不能超过100,并且三条边中的两条边长的平方之和等于第三条边长的平方。其次任意两条边之和大于第三条边,这样才可以避免产生重复的数字,比如3 4 5符合而5 4 3这个重复项就可以排除。这里我们定义三个变量a、b、c,并对应3个列表存储答案。
看到勾股数程序的第一眼,聪明的同学可能马上会想到是不是和百元买百鸡的代码有点相似,没错两个程序确实都运用了循环嵌套的方式进行。但是勾股数程序还是有自己的特点的,为了提高程序执行的效率,起始数值设置a=3,然后一层一层嵌套,分别将b设置为a+1,c设置为b+1。……
登录APP查看全文
