求一个数的真正大幂

2023-12-21

I am creating a small game for students, and in a place, it has to display the value of 27830457+1

如果数字不是那么大,我可以调用 BigInteger pow() 方法。由于数量很大,这个方法没有什么用。我怎样才能发现这种数字的巨大力量?请帮忙!


那么在二进制中它只是10000...01有 7830456 个零。

以十进制表示,大约有 200 万位数字,大约需要 2 兆字节的存储空间。这完全是在可行的范围之内BigInteger具有默认的堆大小。

在实践中,它甚至使用通过平方求幂 http://en.wikipedia.org/wiki/Exponentiation_by_squaring快速计算它(尽管规范不保证)。然而转换为String由于它是线性时间操作,因此需要一些时间。

import java.math.BigInteger;

public class BigPow {
    public static void main(String[] args) {
        BigInteger result = (new BigInteger("2")).pow(27830457).add(BigInteger.ONE);
        System.out.println(result);
    }
}

这是一个会慢慢打印出数字的版本:

import java.math.BigInteger;

public class BigPow {
    public static void main(String[] args) {
        BigInteger result = (new BigInteger("2")).pow(27830457).add(BigInteger.ONE);
        BigInteger powten = BigInteger.TEN.pow(2357202);

        while(powten.compareTo(BigInteger.TEN) > 0) {
            BigInteger digit = result.divide(powten).mod(BigInteger.TEN);
            System.out.print(digit);
            powten = powten.divide(BigInteger.TEN);
        }
    }
}

第一位数字是:

2733738639062831355730724885773203300816855642973807879176160716054994495451063785500541771864696516354635136598485776179 684795037788083629143424452902991927170627198252340568713433469269134447753848945097109143746316094037162464703006474196843 640156671125528435369044827054540244464154703039922824374331519360871014872164887908559269991329974578539260930177418542736 743078283429062926585907381446668771440843602580986046292627561008735459599243600018721615295454277499150999237498553887988 089790263960045162791492304348343651441954441330639127852930365011277329750209061945916788856327407158784862308588006709196 891123629673211925293749715276954157951615065942499704196821312245056836412197647426909791063564122792292339809224240975555 411598585583101545920478039147059154328126737371655627225938668386453826392239872360221017380015140533210027591361955956357 582949836980695703152607725823630518625426905681113413513335093692429410134529433569886633956191885758422974427790118079202 918015648500008652817440087865700464572689281694358996970105315876021051217151696981334508089413466320798896218242645912857 728293494879091169132947503432465638423841323048505060766698830193266049087016724601689700783586669170539979424774621381966 2270451531049826029606671683482160663572103374

经证实沃尔夫勒姆·阿尔法 http://www.wolframalpha.com/input/?i=2%5E7830457%2b1.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

求一个数的真正大幂 的相关文章

  • 在java代码中创建postgresql表

    我有一个与 postgreSQL 数据库连接的 java 代码 现在 我希望当它连接到数据库时 我还将创建数据库表 但我的问题是 它不会创建数据库 我不知道问题是什么 这是我的代码 Statement st null ResultSet r
  • 如何将webview内容划分为多个页面

    我必须使用 Android 上的 PdfDocument 从 webView 创建 PDF https developer android com reference android graphics pdf PdfDocument htm
  • Java 错误和警告列表

    在哪里 如何获得所有 java 和 javac 的错误和警告消息的列表 This http mindprod com jgloss compileerrormessages html我认为页面是您所需要的
  • java中高效的输入流到字符串方法

    因此 我在 Java 中的 诚然非常简单 应用程序上运行探查器 令我惊讶的是 仅次于需要在时间上发出 HTTP 请求的方法的是我的方法 inputStreamToString方法 目前它的定义如下 public static String
  • Spring Data Jpa OneToMany 同时保存子实体和父实体?

    这是我的父实体 注意 为了简洁起见 删除了 getter setter lombok 注释 Entity public class Board Id GeneratedValue strategy GenerationType IDENTI
  • 无法在 Intellij 中运行主类[重复]

    这个问题在这里已经有答案了 我有以下项目结构 ProjectRoot src Main examples libs My src文件夹被标记为sources在 Intellij 中 现在 当我想运行 Main 类时 出现以下错误 Excep
  • 如何杀死 Java Future?

    我正在开发的服务使用 Future 来并行运行多个任务 每个任务最多可能需要一分钟才能完成 然而 外部库似乎有问题 因为在某些情况下 2 的时间 它不会返回 在这些情况下 我想给出 2 分钟的等待时间 如果还没有返回 我想杀死 future
  • Android 信号 11 (SIGSEGV),代码 1 (SEGV_MAPERR) libwebviewchromium.so

    对于 android 4 4 我多次收到 Native crash at system lib libwebviewchromium so 错误 以下是设备包括 Xperia Z1 SO 01F 16 30 2 Galaxy Tab4 7
  • 清空变量不会使方法引用无效[重复]

    这个问题在这里已经有答案了 为什么代码不抛出NullPointerException当我使用与变量绑定的方法引用时dog我后来分配了null to 我正在使用 Java 8 import java util function Functio
  • 用于制作代码编辑器的 JavaFX 相当于 JSyntaxPane 的什么?

    以前在 Swing 中 我使用过JSyntaxPane用于制作一个小型 Java 源代码编辑器 为了练习 我决定用 JavaFX 重做整个项目并添加对更多语言的支持 最好是尽可能多 不过好像没有什么类似的JSyntaxPane 一些研究让我
  • Spring 从 JBoss 上下文加载 PropertySourcesPlaceholderConfigurer

    我有一个使用 PropertySourcesPlaceholderConfigurer 的 spring 3 1 应用程序加载设置 我想管理测试和生产环境 只需从服务器上下文加载设置覆盖本地文件属性中指定的设置 下一个示例在 Tomcat
  • java:为什么主线程等待子线程完成

    我有一个简单的java程序 主线程 main 创建并启动另一个线程t class T extends Thread Override public void run while true System out println Inside
  • 生成一定长度的所有排列

    假设我们有一个字母表 abcdefghiklimnop 如何以有效的方式以五个一组的形式重复该字母表来递归生成排列 几天来我一直在为此苦苦挣扎 任何反馈都会有帮助 本质上这与 生成给定字符串的所有排列 https stackoverflow
  • java彩色滚动条搜索结果

    我将如何在 Java 中自定义滚动条 以便我可以进行像 chrome 一样的搜索 也就是说在结果所在的位置放置彩色条纹 我不想要一个库 因为我更喜欢自己编写代码 另外 我不想失去我拥有的 L F 欢迎举例 实际上 它将查看一个大的文本文件或
  • 如何获取 JDBC 中 UPDATE 查询影响的所有行?

    我有一项任务需要使用更新记录PreparedStatement 一旦记录被更新 我们知道更新查询返回计数 即受影响的行数 但是 我想要的不是计数 而是受更新查询影响的行作为响应 或者至少是受影响的行的 id 值列表 这是我的更新查询 UPD
  • 获取接收者的设备令牌以在 Firebase 中发送通知

    所以我正在学习如何使用 firebase 发送设备到设备的通知 我看到了这个answer https stackoverflow com a 42548586 5237289发送通知 看起来很简单 现在 我知道要获取发件人的令牌 它应该如下
  • Hybris:如何在impex中导入zip文件中的媒体?

    我知道我们可以导入未像这样压缩的图像 siteResource jar com project initialdata constants ProjectInitialDataConstants projectinitialdata imp
  • 在 Spring MVC 中将请求写入文件

    我希望能够将整个请求写入 Spring MVC 控制器中的文件 我已尝试以下操作 但即使我使用大量参数发出 POST 请求 文件也始终为空 RequestMapping method RequestMethod POST value pay
  • 如何更改 JAX-WS Web 服务的地址位置

    我们目前已经公开了具有以下 URL 的 JAX RPC Web 服务 http xx xx xx xx myservice MYGatewaySoapHttpPort wsdl http xx xx xx xx myservice MYGa
  • MyBatis 枚举的使用

    我知道以前有人问过这个问题 但我无法根据迄今为止找到的信息实施解决方案 所以也许有人可以向我解释一下 我有一个表 状态 它有两列 id 和 name id是PK 我不想使用 POJO Status 而是使用枚举 我创建了这样一个枚举 如下所

随机推荐