相信很多小伙伴们都遇到过很多质数与合数的难题,这类难题一般都是考试中的“分水岭”,能做出来的人还是不容易的,就像小编经常也会被这种题拉到三等奖去 今天我们就来看一看这类题型。
1.判断质数(难度※)
n = int(input("输入一个正整数"))
for i in range(2,n):
flag = True
if n % i == 0:
flag = False
break
if flag:
print(n,"是质数")
else:
print(n,"不是质数")
第一行是将input输入的内容转换为int整形,从第二行开始循环,这里的循环次数一定是从2开始,到n-1。因为所有正整数都能被1整除,如果从1开始,这样的结果就是所有数都是“质数”。第三行声明flag变量为真,表示这个数当前是否不能被任何2~n-1的数整除。第四行判断n是否能被循环变量i整除,也就是对n÷i进行取余。如果满足就说明n不是质数,因为只要能被至少1个循环范围内的数整除,就说明它除了1和n还可以被其他数整除。这里将flag设为假,然后跳出循环。最后输出,如果flag为真输出是质数,反之输出不是质数。
2.判断合数(难度※※)
n = int(input("输入一个正整数"))
flag = False
for i in range(2,n):
if n == 2:
break
if n % i == 0:
flag = T