python整除运算符四舍五入_03.大数整除问题,趣说python数字类和算术运算符

接上题,整除问题是小学奥数的经典题型。

349956476571能被1~20里的哪些数整除,可以直接排除2、4、6、8、10、12、14、15、16、18、20,只要看3、7、9、11、13、17、19,手算大概用了15分钟。

如果记得奥数里的整除性规律,则至少可以提高到10分钟以内。

整除性规律

2:个位是偶数

3:各位上数字之和是3的倍数

4:末两位上的数能被4整除

5:个位是0或者5

6:个位是偶数,且各位数字之和是3的倍数

7:去掉个位后的数减去个位数的2倍是7的倍数。

8:末三位能被8整除

9:各位上数字之和是9的倍数

10:个位是0

11:奇位数字之和和偶位数字之和的差是11的倍数

12:能同时被3和4整除

13:去掉个位后的数加上个位数的4倍是13的倍数。

14:能同时被2和7整除

15:能同时被3和5整除

16:末四位能被16整除

17:去掉个位后的数减去个位数的5倍是17的倍数。

18:能同时被2和9整除

19:去掉个位后的数加上个位数的2倍是19的倍数。

整除问题扩展知识

仅以被3整除为例

规律得证。

python求解

但是用python,我们只要1分钟不到。

print(349956476571 % 3)

print(349956476571 % 7)

print(349956476571 % 9)

print(349956476571 % 11)

print(349956476571 % 13)

print(349956476571 % 17)

print(349956476571 % 19)

注:还记得%运算符的含义吗?

在上一课介绍算术运算符的时候,介绍过 % 可以用来求余数。而根据整除的定义

若整数b除以非零整数a,商为整数,且余数为零, 我们就说b能被a整除。所以用 349956476571 分别 % 3,7 ……,如果结果为0,就表示能够整除。

%是python里的一种算术运算符,而顾名思义,算术运算符可以用于数字类实例之间的运算。所以下面将进一步介绍python里的数字类和算术运算符。

数字类

真实世界里,物种是可以细分的,比如猫。(网上找的图,竟然没有波斯猫)

python里的数字类,也被细分成3个子类。分别是:

整型(int)- 通常被称为是整型或整数,是正或负整数,不带小数点。

浮点型(float)- 浮点型由整数部分与小数部分组成,浮点型也可以使用科学计数法表示(2.5e2 = 2.5 x 102= 250)

复数( (complex))- 复数由实数部分和虚数部分构成,可以用a + bj,或者complex(a,b)表示, 复数的实部a和虚部b都是浮点型。

复数先不用管,整型(int)和浮点型(float)不就是我们数学里说的整数和小数嘛。

在python里,如何知道一个实例是什么类呢?python提供了一个内置函数 type()

当然,对于数字类,感觉它用处不大,因为我们一眼就能够看得出来。

如上面的程序, 2 是 整型这个类的一个实例, a 是它的名字:变量名

2.5 和 2.5e2 都是 浮点型 这个类的实例,变量名分别是 b,c

但是没有关系,先记住这个内置函数,后面还会用到它。

算术运算符

python里的算术运算符不多,并且含义和数学上学的几乎一致,所以只要看下面这张表格就可以了。

注意

乘法运算符在python里是 * ,除法运算符是 /

另外,python里还补充了3个有用的运算符,分别是 %,** ,//

要充分理解这些运算符,建议自己都运行一些例子,比如 // 运算符是四舍五入取整,还是去尾法取整,自己试一下吧。

来道难点的题

如图,有100个灯泡,编号从1到100,开始都是熄灭的。

有100个人,编号从1到100。

从编号1的人开始,依次去操作灯泡,如果灯泡编号是人编号的倍数,就按一下灯泡的开关,灯泡如果是灭的,按一下开关会变亮,灯泡如果是亮的,按一下开关会熄灭。

1号人: 所有灯泡编号都是1的倍数,所以把所有灯泡开关都按一次,全部变亮。

2号人: 灯泡编号是偶数才是2的倍数,按这些灯泡开关,灯泡编号是偶数的都熄灭

3号人: ……

……

请问,最后,哪些编号的灯泡是亮着的?

微信公众号同名

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值