题目描述
本题为填空题,只需要算出结果后,在代码中使用输出语句将所填结果输出即可。
一个数如果除了 1 和自己还有其他约数,则称为一个合数。例如:1,2,3 不是合数,4,6 是合数。
请问从 1 到 2020 一共有多少个合数。
运行限制
- 最大运行时间:1s
- 最大运行内存: 128M
来自: 2.合数个数 – 蓝桥云课
我的题解
import math
def judge_number_is_heshu(num):
"""
判断一个数是否为合数。
参数:
num -- 要判断的数字
返回值:
如果num是合数(即除了1和自身外还有其他因子),返回True;
如果num是质数(即除了1和自身外没有其他因子),返回False。
"""
if num == 1 or num == 2:
return False # 1和2不被认为是合数
else:
# 遍历2到num的平方根,判断num是否能被整除,若能则num为合数
for i in range(2, int(math.sqrt(num)) + 1):
if num % i == 0:
return True
return False
if __name__ == '__main__':
# 统计1到2020之间合数的个数
count = 0
for i in range(1, 2021):
if judge_number_is_heshu(i):
count += 1
print(count) # 输出合数的个数
输出结果是:1713
存档地址:https://www.yuque.com/worthstudy/study/pomzml0mfvo39ihd?singleDoc#
© 版权声明
文章版权归作者所有,如需转载请联系作者。若文章内容侵犯了您的权益,请通过网站底部联系方式联系我们处理(本站具有最终解释权)。如有不便之处,敬请谅解。
THE END
暂无评论内容