我想写这个程序,使用循环它发现蛮力素数使用梅森。方向如下。使用循环使用梅森编号(Python)查找蛮力素数(为什么不是我的代码工作?)
素数是一个数字,是不整除任何其他数量(除,平凡,1)。所有已知的确定数字是否为质数的方法都依赖于强力,即对可能性进行彻底测试。编写一个检查数字是否为素数的例程。检查它是否均匀,如果不是,检查所有奇数直到数字的平方根(你知道为什么平方根足够了吗?)。如果数字不是素数,告诉用户一个因素。
对于您的演示,您将使用Mersenne 67,它是2到67次方减1(参见问题1-4-A):147573952589676412927 [147,573,952,589,676,412,927]。在1644年,马林梅森认为这个数字是主要的。直到1903年,F.N.科尔解决了这个猜想,为此他在美国数学学会的会议上得到了热烈的掌声。决议是什么? (即Mersenne 67 prime?)使用你的程序来回答这个问题;你的程序可能会运行大约2分半钟,相当于它最初用来解决问题的2个半世纪的时间。
这是什么什么,我有这么远,但它似乎并没有跑,我可以确认我的答案。任何输入将不胜感激。先谢谢你。
def me():
N = int(input("What is the Value of N?="))
Mersenne=(2**N)-1
print(format(Mersenne,',d'))
me()
def is_prime(n):
if is_even(n):
else:
for f in <something that generates odd numbers>:
if is_factor(f,n):
def get_n():
n = raw_input("What is the value of n? ")
return ((2 ** 67)-1) if n == 'm' else int(n)
n = get_n()
p = is_prime(n)
if p:
print("%d is not prime (e.g. factor=%d)" % (n, p))
else:
print("%d is prime")
问题寻求帮助调试(“为什么不是这个代码的工作?”)必须包括所期望的行为,一个特定的问题或错误,并重现它在问题本身所需要的最短的代码。没有明确问题陈述的问题对其他读者无益。请参阅:[如何创建最小,完整和可验证示例](http://stackoverflow.com/help/mcve)。 – msw 2014-10-02 00:43:58
只是改变了它。如果可以的话请帮忙。非常感谢您的宝贵时间。 – python2learn 2014-10-02 00:46:11
我强烈建议您联系您的教练或助教。如果你被困在'<产生奇数的东西>'和'如果is_even(n):else:'你会在中期前被压制。 – msw 2014-10-02 00:56:06