Large non-Mersenne prime

The first known prime found to exceed one million digits was discovered in 1999, and is a Mersenne prime of the form 26972593−1; it contains exactly 2,098,960 digits. Subsequently other Mersenne primes, of the form 2p−1, have been found which contain more digits.

However, in 2004 there was found a massive non-Mersenne prime which contains 2,357,207 digits: 28433×27830457+1.

Find the last ten digits of this prime number.


非梅森大素数

1999年人们发现了第一个超过一百万位的素数,这是一个梅森素数,可以表示为26972593−1,包含有2,098,960位数字。在此之后,更多形如2p−1的梅森素数被发现,其位数也越来越多。

然而,在2004年,人们发现了一个巨大的非梅森素数,包含有2,357,207位数字:28433×27830457+1。

找出这个素数的最后十位数字。

解题

感觉很简单。。。

JAVA

package Level3;import java.io.BufferedReader;
import java.io.FileReader;
import java.io.IOException;
import java.math.BigInteger;
import java.util.ArrayList;public class PE097{public static void run() {BigInteger m = new BigInteger("10000000000");BigInteger r1 = new BigInteger("28433");BigInteger t = new BigInteger("2");BigInteger exp = new BigInteger("7830457");BigInteger res = t.modPow(exp, m);res = r1.multiply(res).add(new BigInteger("1"));res = res.mod(m);System.out.println(res);}public static void main(String[] args) throws IOException {long t0 = System.currentTimeMillis();run();long t1 = System.currentTimeMillis();long t = t1 - t0;System.out.println("running time="+t/1000+"s"+t%1000+"ms");}
}

// 8739992577
// running time=0s2ms

 

就这样

或者这样

    public static void run2(){long base = 2;long mod = 1000000000;long exp = 7830457;long res = 28433;for(long i =1;i<=exp;i++){res = (res*2)%mod;}res +=1;res %=mod;System.out.println(res);}
//    739992577
//    running time=0s163ms

上面mod少个0求的是后9位的数,因为多个0就越界了,少一位手工0到9可以暴力遍历。。。

Python

# coding=gbk
import copy
import time as time
def main():print ((28433*(2**7830457))+1)%10000000000
t0 = time.time()
main()
t1 = time.time()
print "running time=",(t1-t0),"s"
# 8739992577
# running time= 0.0190000534058 s

也就这样

转载于:https://www.cnblogs.com/theskulls/p/5024164.html

Project Euler 97 :Large non-Mersenne prime 非梅森大素数相关推荐

  1. Project Euler 3 Largest prime factor

    Project Euler 3 Largest prime factor ''' The prime factors of 13195 are 5, 7, 13 and 29. What is the ...

  2. [Project Euler] 来做欧拉项目练习题吧: 题目012

      [Project Euler] 来做欧拉项目练习题吧: 题目012 周银辉 问题描述: The sequence of triangle numbers is generated by addin ...

  3. 欧拉计划(project euler)最详细中文题解

    欧拉计划是一个在线解题网站,题目以各类数学问题为主,通常需要结合一定的数学与编程知识,写出适当的程序求解问题(详细介绍可以参见我的文章).相比于力扣等刷题网站,欧拉计划上的题目有着更丰富的知识背景,在 ...

  4. 欧拉计划 Project Euler 50-56

    Project Euler 50-56 Project Euler: https://projecteuler.net/ Project Euler | 欧拉计划: https://pe-cn.git ...

  5. 【AlgorithmTraining】03:Project Euler 03

    Project Euler 03 OVERVIEW Project Euler 03 1.E22:Name score 2.E32:Pandigital products 3.E33:Digit ca ...

  6. 硬币游戏 Project Euler 232

    原帖:http://hi.baidu.com/atyuwen/blog/item/160bd024531e3034c995591d.html Project Euler上最近的题目都还比较意思,来看看 ...

  7. [Project Euler] 来做欧拉项目练习题吧: 题目004

        [Project Euler] 来做欧拉项目练习题吧: 题目004 周银辉 问题描述: A palindromic number reads the same both ways. The l ...

  8. [Project Euler] 来做欧拉项目练习题吧: 题目017

    [Project Euler] 来做欧拉项目练习题吧: 题目017 周银辉 题目描述: If the numbers 1 to 5 are written out in words: one, two ...

  9. Project Euler

    最近发现了一个很有趣的网站,Project Euler 上面全是数学题,不过大多需要用编程解决 Problem 3: 求:600851475143的最大素因子. 解:编了个程序,迅速水过,看官方的题解 ...

最新文章

  1. Linux系统开发之路-中
  2. ThreadPoolExecutor 八种拒绝策略,对的,不是4种!
  3. 做事情一定要从小事情着手
  4. 谷歌浏览器中文版_GitHub上最励志的计算机自学教程:8个月,从中年Web前端到亚马逊百万年薪软件工程师 | 中文版...
  5. 可执行文件组成及内存映射
  6. centos7更改管理员密码
  7. vue中button如何改变文字的大小_Vue进阶属性
  8. php中global和$GLOBALS[]的分析之一
  9. 【算法】—— str2int(正序和逆序)
  10. synergy共享屏幕
  11. 计算机开机配置失败6,win7开机配置windows update失败怎么跳过?-win7配置update失败,安全模式还是配置失败...
  12. 上交所几大业务平台简介
  13. SAGAN: Self-attention GAN
  14. 一年时间,从一个浑浑噩噩的测试小人物到测试主管的成长之路
  15. python 拉普拉斯锐化_Python+OpenCV拉普拉斯图像锐化
  16. 2021 ICPC Southeastern Europe Regional Contest ABFGJKLN
  17. 国瀚实业|工薪家庭理财资产配置攻略
  18. 主题模型TopicModel:Unigram、LSA、PLSA模型
  19. java 算数表达式 转成 二叉树,将算术表达式((a+b)+c*(d+e)+f)*(g+h)转化为二叉树。...
  20. 中国大学生计算机编程第一人楼天城访谈

热门文章

  1. python+Django 完成第一个后端项目--创建投票应用(一)
  2. python简单命令语句_python基础教程之[基础学习]MySQL常用语句命令总结|python基础教程|python入门|python教程...
  3. IIS安装2个SSL_SSL的申请与https使用
  4. linux 监控命令iostat,Linux性能监控分析命令(三)—iostat命令介绍
  5. 暮色森林模组_《我的世界》暮色森林VS天启之境 到底谁才是冒险模组一哥
  6. java并发测试 线程池,Java并发编程——线程池
  7. html登录页面的校验控件,HTML5一款有趣智能的密码输入界面控件
  8. php 环境优化,Nginx与PHP-fpm环境在大流量下的优化配置
  9. linux 访问文件软件,Linux下访问文件的基本模式
  10. 计算机应用有那些技校好,技校都有哪些专业? 就业前景好的有哪些