解决电力塔

2024-04-05

a=2^Power[10^6, 10^9] 3^Power[4^9, 7^5]
TwoTower[n_] := Nest[2^# &, 1, n]

最小的是什么n这样TwoTower[n]>a? This question http://www.quora.com/How-can-I-compare-two-very-large-numbers在 Quora 上有一个纸笔答案,这里有办法使用 Mathematica 吗?


只是一些想法(没有仔细检查)。如果我们遵循该链接中的建议并开始记录日志(以 2 为底),那么显而易见的第一件事就是我们可以安全地忘记前因子(3 的幂),因为

Log[Log[a*b]] = Log[Log[a]+Log[b]] = Log[Log[a]]+Log[1+Log[b]/Log[a]] = 
= Log[Log[a]] + Log[b]/Log[a] + O((Log[b]/Log[a])^2), Log[b]<<Log[a]

where a是 2 的幂并且b是 3 的幂。那么,我们可以只关注 2 的幂。如果我们定义我们的版本log and power:

Clear[log2,power];
log2[2] = 1;
log2[1] = 0;
log2[a_*b_] := log2[a] + log2[b];
log2[a_^b_] := b*log2[a];
log2[power[a_, b_]] := b*log2[a]; 

那么下面的内容似乎给出了答案:

In[62]:= 
    Length[NestWhileList[N[Log[2, #]] &,log2[log2[log2[ 2^power[10^6, 10^9]]]] /. 
           log2 -> (N[Log[2, #]]&), # > 1 &]] - 1 + 3

Out[62]= 7

由于 NestWhile 的工作方式,我们减去 1(最后一个元素已经违反了条件),并加上 3,因为在进入 NestWhileList 之前,我们已经应用了 log2 3 次。如果没有在网站上注册,我无法阅读该链接中的所有评论,因此我不知道他们的答案或正确答案是什么。

Edit:

我发现上面的解决方案可以表达得更优雅一些,这样就根本不需要人类交互:

ClearAll[log2, power];
log2[2] = 1;
log2[1] = 0;
log2[a_*b_] := log2[a] + log2[b];
log2[(power | Power)[a_, b_]] := b*log2[a];
log2[x : (_Integer | _Real)] := N[Log[2, x]];
power[a_, b_] :=
   With[{eval = Quiet[Check[Power[a, b], $Failed]]},
     eval /; (eval =!= $Failed)]

然后,解决方案本身看起来更容易一些:

In[8]:=Length[NestWhileList[log2,2^power[10^6, 10^9], ! FreeQ[#, power] || # > 1 &]] - 1

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

解决电力塔 的相关文章

  • 在 C# 整数运算中,a/b/c 是否始终等于 a/(b*c)?

    设a b和c为非大正整数 对于 C 整数算术 a b c 是否始终等于 a b c 对我来说 在 C 中它看起来像 int a 5126 b 76 c 14 int x1 a b c int x2 a b c 所以我的问题是 x1 x2对于
  • 在 Mathematica 中使用 f@expr 和 expr // f 得到不同的结果

    我正在玩Prefix and Postfix运算符 and 分别 我遇到了以下问题 给定以下代码 它们以完全相同的方式进行评估 Hold MatrixPlot Sort data FullForm Hold MatrixPlot Sort
  • 找到两个移动物体的更好交点

    我想极大地优化我的算法之一 我将尽力以最好的方式解释它 主题 我们当时处于二维欧几里德系统中t 0 在这个系统中有两个对象 O1 and O2 O1 and O2分别位于点PA and PC O1移动于常数和已知点方向的速度PB 当物体到达
  • C/C++ 中的最小二乘回归

    如何在 C C 中实现因子分析的最小二乘回归 the黄金标准是LAPACK http www netlib org lapack lug node27 html 你特别想要xGELS
  • 为什么在 Javascript 中添加两位小数会产生错误的结果? [复制]

    这个问题在这里已经有答案了 可能的重复 JavaScript 的数学有问题吗 https stackoverflow com questions 588004 is javascripts math broken 为什么 JS 搞砸了这个简
  • 基于时间的算法评分

    我们希望创建一种评分算法 在更短的时间内获得更高的分数 在更长的时间内获得更少的分数 需要注意的是 没有实际范围 因此时间范围可以从 100 毫秒到长达 10 分钟或更长时间 点范围为 0 到 50 谢谢你的帮助 你可以简单地把它变成一个线
  • Exposé 布局算法

    我正在制作一些项目 其布局类似于 Mac OS X 在 Expos 中对窗口所做的操作 它适应项目的长宽比和可用区域的长宽比 基本上 可用区域分为行和列 每个单元格 行和列的交集 中放置一个项目 这些项目必须保持其纵横比 此处width h
  • 数学 - 映射数字

    如何将 a 和 b 之间的数字线性映射到 c 和 d 之间 也就是说 我希望 2 到 6 之间的数字映射到 10 到 20 之间的数字 但我需要广义的情况 我的脑子炸了 如果您的数字 X 位于 A 和 B 之间 并且您希望 Y 位于 C 和
  • Karasuba算法递归过多

    我正在尝试用 c 实现 Karasuba 乘法算法 但现在我只是想让它在 python 中工作 这是我的代码 def mult x y b m if max x y lt b return x y bm pow b m x0 x bm x1
  • C++ 中求幂的函数是什么?

    如何计算一个数的幂 2 1 2 2 2 3 etc cmath 库中的 pow 更多信息here http en cppreference com w cpp numeric math pow 别忘了放 include
  • 在球体边缘绘制点

    因此 来自 Flash 背景的我对一些简单的 2D 三角函数有很好的理解 在带有 I 圆的二维中 我知道使用给定角度和半径将项目放置在边缘上的数学 x cos a r y sin a r 现在 如果我在 3d 空间中有一个点 我知道球体的半
  • 为什么 C# Math.Ceiling 向下舍入?

    我今天过得很艰难 但有些事情不太对劲 在我的 C 代码中 我有这样的内容 Math Ceiling decimal this TotalRecordCount this PageSize Where int TotalRecordCount
  • 如何舍入、取整、取整、截断

    如何对 jq jq 1 5 1 a5b5cbe 中的数字进行舍入 取整 取整和截断 例如 与 mass 188 72 我想 mass 188 有地板 mass 189 与天花板和圆形 舍入示例 5 52 gt 6 5 50 gt 5 or
  • 重新创建 CSS3 过渡三次贝塞尔曲线

    在 CSS3 过渡中 您可以将计时函数指定为 cubic bezier 0 25 0 3 0 8 1 0 在该字符串中 您仅指定曲线上点 P1 和 P2 的 XY 因为 P0 和 P3 始终分别为 0 0 0 0 和 1 0 1 0 根据苹
  • 将 z 分数转换为百分比的函数

    谷歌不想提供帮助 我能够计算 z 分数 并且我们正在尝试生成一个函数 给定 z 分数 可以得出正态分布中低于该 z 分数的人口百分比 我能找到的只是对百分比表的 z 分数的引用 有什么指点吗 Is it 这个 z 分数 链接 http en
  • 列出所有 k 元组,其条目总和为 n,忽略旋转

    有没有一种有效的算法来查找所有序列k总和为的非负整数n 同时避免旋转 如果可能的话 完全避免 顺序很重要 但对于我正在解决的问题来说 轮换是多余的 例如 与k 3 和n 3 我想要得到一个如下所示的列表 3 0 0 2 1 0 2 0 1
  • 应用对数来导航树

    我曾经知道一种使用对数从树的一片叶子移动到树的下一个 有序 叶子的方法 我认为它涉及获取 当前 叶子的位置值 排名 并将其用作从根向下到新目标叶子的新遍历的种子 一直使用对数函数测试来确定是否沿着右或左节点向下到达叶子 我已经不记得如何运用
  • 使用到达时间差对信号进行三边测量

    我在寻找或实现寻找信号源的算法时遇到一些麻烦 我的工作目标是找到声音发射器的位置 为了实现这一点 我使用了三个麦克风 我正在使用的技术是多点定位这是基于到达时间差 The 到达时间差使用发现每个麦克风之间互相关接收到的信号 我已经实现了算法
  • 如何在Python的SciPy中更改稀疏矩阵中的元素?

    我构建了一个小代码 我想用它来解决涉及大型稀疏矩阵的特征值问题 它工作正常 我现在要做的就是将稀疏矩阵中的一些元素设置为零 即最顶行中的元素 对应于实现边界条件 我可以调整下面的列向量 C0 C1 和 C2 来实现这一点 不过我想知道是否有
  • 用 python 编写的数学语法检查器

    我需要的只是使用 python 检查字符串是否是有效的数学表达式 为了简单起见 假设我只需要 运算符 也作为一元 带有数字和嵌套括号 为了完整性 我还添加了简单的变量名称 所以我可以这样测试 test 3 2 1 valid test 3

随机推荐

  • 根据 Django 数据库中的某个字段获取不同的行

    我需要在 Django 中构建一个查询 我想知道这是否可能 它可能非常明显 但我错过了 我有一个正常的查询Model objects filter x True 5 它可以返回这样的结果 FirstName LastName Country
  • 为什么 jQuery.cssRule 插件必须向所有样式表添加规则?

    我尝试使用 cssRule 插件 http plugins jquery com project jquerycssrule并发现在 FireBug 中调试这些规则很不方便 因为每个规则似乎都附加到我的页面上加载的每个 css 文件 因此定
  • 从非托管 C++ 调用托管代码 (c#) 的最佳方法

    我们开发了一个软件架构 由用 C 开发的一组对象组成 他们广泛使用事件来通知客户端状态变化等 最初的目的是允许遗留代码通过 COM 互操作服务使用这些托管对象 这在设计规范中很容易编写 但我发现实际实现它会遇到更多问题 我已经搜索了很多小时
  • python 2.6+ (win32) 上的 mysqldb

    我目前正在使用 python 2 6 我想使用 win32 mysqldb 模块 不幸的是 它似乎需要 2 5 版本的 Python 有什么方法可以消除版本号中的这种不匹配并使用 python 2 6 安装 mysqldb 吗 有适用于 p
  • 使用 Java 从 Google Drive 获取列表文件 [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 有关您编写的代码的问题必须描述具体问题 and 包含有效代码重现它 在问题本身中 看SSCCE org http sscce org 以获
  • 闪亮的滑块限制释放鼠标左键的反应

    我正在使用 Shiny 应用程序 其中可能需要一些时间才能将滑块设置为正确的值 因此 在尝试将滑块设置为正确的值 并且不释放鼠标左键 时 即我的本地 服务器观察到几个新值并做出相应反应 由于我的服务器对任何新值的响应可能需要几秒钟 如果我可
  • 有没有一种方法可以有效地生成包含数百万个文件的目录中的每个文件?

    我知道os listdir 但据我所知 它将目录中的所有文件名放入内存 然后返回列表 我想要的是一种生成文件名 对其进行处理 然后生成下一个文件名的方法 而不会将它们全部读入内存 有什么办法可以做到这一点吗 我担心使用这种方法更改文件名 添
  • Rails 4.0 中的多个“root to”路线

    我试图让 Rails 根据子域转到不同的控制器 action 这就是我迄今为止在routes rb中所拥有的 Petworkslabs Application routes draw do get to custom show constr
  • R 并排分组箱线图

    我有两种植物气体排放的时间数据 这两种植物都经过了相同的处理 和一些以前的帮助 https stackoverflow com questions 23848186 unify boxplot factor group colours 23
  • Oauth 2.0 - 单个资源服务器但多个客户端应用程序

    问候 我想问以下是否是 Oauth 2 0 的有效用例 授权服务器 单独 单个 或多个 资源服务器 多个客户端应用程序访问同一资源服务器 如果这是一个有效的用例 我们如何使用授权服务器配置多个客户端 无法使用 application pro
  • 如何用 SUBSTITUTE 公式替换 Excel 中的引号?

    我有工作表 其中需要命名范围来对应于另一个单元格的内容 单元格中的文本类似于 Partitions w Studs 16 oc 命名范围不能包含空格 或者最重要的是 不能包含 等特殊字符 因此 该范围的命名如下 PartitionswStu
  • clojure lein(读取行)stdin 问题

    所以常规的 clojure repl 工作得很好 read line 收集输入 然后回显它 使用lein repl但是 它永远不会回显任何输入字符 也不允许我从任何标准输入读取命令返回 我确信这与重新绑定有关in 但想知道是否有解决方法 修
  • Tablayout+view 分页器未在位置 0 显示片段

    我的应用程序有 2 个选项卡 具有两种不同的布局 当我运行应用程序时 应该在 tab1 位置 0 中显示的片段显示在 tab2 中 而应该在 tab2 位置 1 中显示的片段没有显示 此外 当我滑动屏幕时 选项卡布局中的选项卡焦点不会改变
  • PDF - 设置受密码保护的打印、复制、粘贴选项?

    我正在寻找一个 Python 库 它允许我在现有 PDF 文件上设置受密码保护的打印 复制 粘贴选项 我尝试过的 我查看了reportlab pdfencrypt模块 这正是我需要的选项 但是开源版本受到严格限制 甚至无法设置真正的密码 并
  • iOs(CoreLocation)-locationManager:didUpdateLocations:未按预期工作

    我编写了一个简单的 iPhone 应用程序 用于检索位置信息并简单地显示它们 我想增加distanceTraveled每次位置改变时都会变量 我的问题是在方法中locationManager CLLocationManager manage
  • 对.net中多重继承的质疑

    我们知道 net中所有的类都是继承自对象类的 假设我们创建一个名为 ClassA 的类 然后我们创建另一个类 名为ClassB 它继承自ClassA 这不是多重继承吗 因为ClassB同时继承自Object类和ClassA 这不是违反了C
  • 如何以编程方式从 Office 文件中提取和操作图像?

    如何从 PowerPoint 和 Word 文档中提取一些图像 以便对其进行操作 然后将图像放回 MS Office 文件中 Apache 有一个名为 POI 的项目 专门用于与 Java 中的 MS Office 格式进行交互 希望这对你
  • 从 cygwin bash 成功克隆后,本地 Git 存储库不存在

    当我克隆到通过绝对路径引用的目录 不存在 时 git 不会抱怨任何事情 报告 0 退出代码 但目录是not创建的 Git 遵守目录do当我重试时存在 user host tmp git clone https github com zand
  • com.mongodb.MongoSocketOpenException:打开套接字时出现异常(MongoDB、Docker)

    我尝试使用 docker 映像启动我的应用程序 Spring Boot Spring Cloud Eureka MongoDB 但无法连接到 MongoDB 例外 exception com mongodb MongoSocketOpenE
  • 解决电力塔

    a 2 Power 10 6 10 9 3 Power 4 9 7 5 TwoTower n Nest 2 1 n 最小的是什么n这样TwoTower n gt a This question http www quora com How