文章目录
判断一个整数是否是合数
注:35是合数,但这里却是素数。同样25也是,这是一个Bug。
# -*- coding: utf-8 -*-
'''
功能:判断一个数是否是素数
作者:zwh
日期:2021.11.11
'''
from math import sqrt
a = abs(int(input('请输入一个整数: ')))
is_prime_number = True # 素数
for i in range(2, int(sqrt(a))):
if a % i == 0:
is_prime_number = False #不是素数
break
if a == 1:
print('{}既不是素数,也不是合数。'.format(a))
elif is_prime_number:
print('{}是素数。'.format(a))
else:
print('{}是合数。'.format(a))
正确写法:
# -*- coding: utf-8 -*-
'''
功能:判断一个数是否是素数
作者:zwh
日期:2021.11.11
'''
from math import sqrt
a = abs(int(input('请输入一个整数: ')))
is_prime_number = True # 素数
for i in range(2, int(sqrt(a))+1):
if a % i == 0:
is_prime_number = False #不是素数
break
if a == 1:
print('{}既不是素数,也不是合数。'.format(a))
elif is_prime_number:
print('{}是素数。'.format(a))
else:
print('{}是合数。'.format(a))