import time def is_prime(number): i = 3 while i**2 <= number: if number % i == 0: return False i += 2 return True def lucas_lehmer(p): s = 4 M = 2**p - 1 for _ in range(p - 2): s = ((s * s) - 2) % M return s == 0 def mersenne_primes(): p = 3 while True: if is_prime(p) and lucas_lehmer(p): yield (p, 2**p - 1) p += 2 start = time.time() numbers = mersenne_primes() for _ in range(15): p, mersenne = next(numbers) perfect = 2**(p-1) * mersenne print(perfect) print('Executado em ' + str(time.time() - start) + 's')
Standard input is empty
28 496 8128 33550336 8589869056 137438691328 2305843008139952128 2658455991569831744654692615953842176 191561942608236107294793378084303638130997321548169216 13164036458569648337239753460458722910223472318386943117783728128 14474011154664524427946373126085988481573677491474835889066354349131199152128 23562723457267347065789548996709904988477547858392600710143027597506337283178622239730365539602600561360255566462503270175052892578043215543382498428777152427010394496918664028644534128033831439790236838624033171435922356643219703101720713163527487298747400647801939587165936401087419375649057918549492160555646976 141053783706712069063207958086063189881486743514715667838838675999954867742652380114104193329037690251561950568709829327164087724366370087116731268159313652487450652439805877296207297446723295166658228846926807786652870188920867879451478364569313922060370695064736073572378695176473055266826253284886383715072974324463835300053138429460296575143368065570759537328128 54162526284365847412654465374391316140856490539031695784603920818387206994158534859198999921056719921919057390080263646159280013827605439746262788903057303445505827028395139475207769044924431494861729435113126280837904930462740681717960465867348720992572190569465545299629919823431031092624244463547789635441481391719816441605586788092147886677321398756661624714551726964302217554281784254817319611951659855553573937788923405146222324506715979193757372820860878214322052227584537552897476256179395176624426314480313446935085203657584798247536021172880403783048602873621259313789994900336673941503747224966984028240806042108690077670395259231894666273615212775603535764707952250173858305171028603021234896647851363949928904973292145107505979911456221519899345764984291328 1089258355057829337698225273522048981957108454302608067318906618508470155298616996291940961858901379546182685531220055762780759342407499066046704182083087124626926378164410931450968826355205573671671624202686633360807123109470452668371537599662797484934359039779954213666598820299501366380164619080260403235229556730554163992303009752651350320619930563673695280153023049498468696618144072021372831425963701460505606378119245841386552600145384072983309717141950085498085709671387054868320477972299055273914798446936214147860706887052107312380067072602317009422809314774791894700769891009818743169303028154303290071199392984292940283852217800166629229157110264080599294016452483028528153331119523441423159614934140265550242360007858215936798489500727196347516386044241721984706558329364277995903102292034620628080752342422906401283027034649671445569324281946859622177566643375489715678451311792675935981010355562887971948569016060035334607879359770371846507659970601616998311983878150420763306289490886429900481786499537645379839365212725494441511932772182768149943659849007457246983861558265144823191367758350341527780770221556945275566504831636564856831502556078058133043400055653540413313266034639355202834006126905491569560542489551023207382276137352665717018261519604817417112576526410535323991500058749996247580834453782528 Executado em 1.9178969860076904s