首页 > 解决方案 > 编程mathematica以找到特定的完美平方数集

问题描述

我的一位同事向他的 C 编程课提出了以下问题,我觉得这很有趣。它可以很容易地用任何编程语言完成,我立刻想到了 wolfram。问题是这样的:

数字 25 是一个唯一的完全平方,如果我们将每个数字加一,它就变成了 36,这也是一个完全平方!编写一个程序来找到另一组具有相同性质的数字。

我相信这可以在mathematica中轻松完成。有人可以解释我如何在数学中做到这一点。请注意问题的原因只是让我进入我一无所知的数学编程的借口。

谢谢大家。

标签: wolfram-mathematica

解决方案


更实用的解决方案。

Table[x^2, {x, 1, 100}] // Select[IntegerQ[Sqrt[FromDigits[IntegerDigits[#] + 1]]] &]

数字9应该如何处理?

IntegerDigits[19]
(* {1, 9} *)

IntegerDigits[19] + 1
(* {2, 10} *)

FromDigits[IntegerDigits[19] + 1]
(* 30 *)

+1 是否应该进位所以结果数是 20 而不是 30?


推荐阅读