App Inventor例程:求两个整数的最小公倍数

标签:
appinventor最小公倍数质数 |
分类: program |
备课的时候需要准备一些练习题。记得很久以前尝试着做过这道题,但是没有结果,这次倒是用App
Inventor给出了答案,要赶快记录下来,以免忘记。
1、求约数
2、约数的统计
3、求最小公倍数
以整数378和216为例来说明运算的过程。为了给自己一些提示,首先用手工的方式将两个数的子因数(或者叫约数)列出来,以便于对过程的解说。
378=2×3×3×3×7
216=2×2×2×3×3×3
这种在人类看起来无比简单的计算,要搬到计算机里,还是要费一些周折的。
一、解决问题的思路
- 求整数的平方根:考虑到最大可能的子因数就是整数的平方根,因此在考虑子因数范围时,这是第一步;
- 求平方根内的所有素数:因为子因素就是不可再分解的数,也就是素数,因此这是第二步,循环起点为2,终点为平方根的一半,以列表方式保存运算结果;
- 求整数的子因数:用余数为零的方法判断整数是否可以被整除;结果用列表来保存;
- 将两个整数的子因数列表进行比较合并,用集合的语言来说,就是求两个集合的并集,结果用列表的方式保存;
- 将并集内的元素做乘方及乘法运算,最终得出最小公倍数。
前三步将整数分解为子因数,后两步对子因数集合进行合并及运算,最终得出结果。
二、用户界面
三、代码
四、代码测试