def is_prime(m):
成都创新互联十余年专注成都高端网站建设按需求定制设计服务,为客户提供专业的成都网站制作,成都网页设计,成都网站设计服务;成都创新互联服务内容包含成都网站建设,成都微信小程序,软件开发,网络营销推广,网络运营服务及企业形象设计;成都创新互联拥有众多专业的高端网站制作开发团队,资深的高端网页设计团队及经验丰富的架构师高端网站策划团队;我们始终坚持从客户的角度出发,为客户量身订造网络营销方案,解决网络营销疑问。
"""判断m是否素数"""
for i in range(2,int(m**(1/2))+1):
if m % i == 0:
return False
else:
return True
程序缩进如图所示
首先,根据条件,正整数加法乘法后还是正整数,n是一个正整数。
不妨设ab(因为a、b互质,不会相等)
n=a*x+b*y
n=a(x+(b/a)*y)
n/a=x+(b/a)*y
因为a、b互质,所以b/a是真分数;
而na且nb,所以n/a必定是假分数,
令其整数部分为p,分数部分就是(n/a)-p=(n-ap)/a;(其中p为整数)
于是比较两边有:
p+(n-ap)/a=x+(b/a)*y
两边变形得:
p-m+(n-ap+am)/a=x+(by)/a;
(其中0=mp,因为x是正整数)
有:
x=p-m,且by=n-ap+am
解得:
x=p-m,且y=(n-ap+am)/b
下面就是要证存在这个m,使y为正整数,也可以说是,找到正整数对(m,y)
由by=n-ap+am
得:
m=(by+ap-n)/a,而0=mp
所以有:
0=(by+ap-n)/ap,
解得:
(n-ap)/b=yn/b,
p是n的整数部分,就有n2p=ap(说明下:一个分数的整数部分是
肯定比分数部分大的,所以可得
n2p)
于是n-ap0,所以y最终的范围是(0,n/b),且y为正整数,可见:
确实存在这样的y,能使m为一在确定范围内的整数,反之,易知:
存在m,可使y=(by+ap-n)/a为整数。
好难的问题啊,我想了好久的。纯手打得阿,采纳以下阿
def f(n):
if n 2 or n == 4:
return False
elif n == 2 or n == 3 or n == 5:
return True
for i in range(2, int(n/2)+1):
if n % i == 0:
return False
return True
n = int(input('请输入一个数字:'))
if f(n):
print('是质数')
else:
print('不是质数')
很简单,直接用
辗转相除法
判断这两个数的
最大公因数
是否为1就好了
def
gcd(a,
b):
if
a
b:
return
gcd(b,
a)
while
a
%
b
!=
0:
temp
=
b
b
=
a
%
b
a
=
temp
return
b
def
main():
a
=
15
b
=
10
if
gcd(a,
b)
==
1:
print('
互质
')
else:
print('不互质')