试求1到1000之间不能被2 ,3 ,或5整除的自然数的个数.

问题描述:

试求1到1000之间不能被2 ,3 ,或5整除的自然数的个数.

被2整除有500
被3整除有333
被5整除有200
被2,3=6整除有166
被2,5=10整除有100
被3,5=15整除有66
被2,3,5=30整除有33
能被2或3或5整除的数=500+333+200-166-100-66+33=734
不能的有1000-734=266

能被2整除的数:1000÷2=500个
能被3整除的数:1000÷3=333个
能被5整除的数:1000÷5=200个
这样看来,好像能被2、3、5整除的数一共有:500+333+200=1033个
但是,在这些数中,有一些数重复计算了:比如6这个数,在被2整除的数中算了一次,又在被3整除的数中算了一次,所以,这样的数我们要找出来,就从最小的6开始,找6的倍数,12、18、24……
所以,既能倍2整除,又能被3整除的数:1000÷6=166个
同理:既能被2整除,又能被5整除的数:1000÷10=100个
同上:既能被3整除,又能被5整除的数:1000÷15=66个
这些数都是重复计算了的,所以,我们要从刚才算的总数里面减掉:1033-(166+100+66)=701个
到这里为止,还没完,因为在这些数中,我们又多算了 既能被2整除,又能被3整除,还能被5整除的数,最小的比如30
30这个数多减了一次,当然不光是30,还有所有30的倍数,所以,这些数也得找出来:1000÷30=33个
这些都是多减了的,所以应该加上,因此,既能被2整除,又能被3整除,还能被5整除的数一共有:701+33=734个
既然求出了可以整除的,那么剩下的就是不能被2整除,不能被3整除,也不能被5整除的数:1000-734=266个