大家好,给大家分享一下一个简单的python代码,很多人还不知道这一点。下面详细解释一下。现在让我们来看看!
Source code download: 本文相关源码
例40:找出1~100之间的全部“同构数”。“同构数”是这样一种数:它出现在它的平方数的右端用python画出简单笑脸。例如:5的平方是25,5就是同构数,25也是构数。
求解分析:
难点在于如何取平方数右端的原数
我是这样解决的,先用len()方法求原数的位数(注int没有len(),所以要先转换成str),平方数%10**原数位数来得到原数
代码如下:
测试结果:
…………………………………………
例41:已知四位数3025有一个特殊性质: 它的前两位数字30和后两位数字25的和是 55, 而55的平方刚好等于该数(55*55=3025). 试编一程序打印所有具有这种性质的四位数.
求解分析:
前两位用整除,后两位用取余
代码如下:
测试结果:
…………………………………………
例42:有30个男人女人和小孩同在一家饭馆进餐,共花了五十先令,其中男宾3先令,女宾2先令,小孩1先令。试编程求出男人女人小孩各多少人?
求解分析:
跟百钱买百钱类似,采用枚举算法
代码如下:
测试结果:
…………………………………………
今天给学生上了开学在第一课,多亏了群主的ppt和视频,给学生讲了两个例子,把学生唬得一愣一愣的,成功感满满,结果拖堂了。
例子1:1+2+3+……+1000=?
例子2:1+2+4+8+……+1024=?
第一个例子,学生一下子就说出来了,第二个例子,学生有点懵,不知道怎么求解?
等我把规律告诉他们了,他们才恍然大悟,1=2**0,2=2**1,4=2**2,8=2**3,……1024=2**10
我这样,算不算在培养学生的计算思维?