gpt4 book ai didi

c++ - 确定 p 的第 n 个正根的程序

转载 作者:塔克拉玛干 更新时间:2023-11-03 03:51:14 25 4
gpt4 key购买 nike

我想计算 p 的 nth 正根,例如我们有 n=2p=16 答案是 4 因为
4^2 = 16。我想对大量数据(1 <= n <= 2001 <= p < 10^101)执行此操作。我不知道我应该如何尽快完成。

示例:

n=2 p=16      Answer 4  
n=7 p=4357186184021382204544 Answer 1234

最佳答案

如果您必须想出自己的算法,可以使用任意精度的数学包。但是你可以试试这个:用你能做的任何方式把 p 变成一个 double (一个 double 可以处理 10^101。)然后使用 math.h::pow(p, 1.0/n),这个答案将接近右边整数(四舍五入?)。但是,如果 p 超过 15 位,并且 n 太小,这将失败,例如,p = 10^100,n=2 给出 50 位的答案,对于 double 来说,这是一个太大的整数,无法准确表示。

Get 101 digit p into double:将数字(字符串)切成 10 位数字 block ,每 block 乘以 10 的适当次方,然后相加。

关于c++ - 确定 p 的第 n 个正根的程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21009428/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com