问题标签 [perfect-square]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
862 浏览

algorithm - 所有可能的不同完全平方的总和等于给定数的平方

我正在尝试编写一个程序来解决一个问题,该问题如下所示“打印所有可能的不同完美平方,其总和等于给定数字的平方”。例如 -

输入

11

输出

1 4 16 36 64

1 4 16 100

4 36 81

我尝试了基本的递归方法,并且我的代码通过了少量输入。当我尝试像 116 这样的更大数字时,它会永远运行。我的JAVA代码

请让我知道是否有更好的方法来解决这个问题(时间复杂度更低)

0 投票
2 回答
1674 浏览

java - 查找作为输入提供的两个整数之间的所有回文完全平方的java程序

我需要编写一个程序来查找作为输入提供但不包括提供的输入的两个整数之间的所有回文完美平方。

当您输入大量输入(即 10000 和 100000)时,我的程序会被“杀死”。请问我该如何解决这个问题?

0 投票
4 回答
750 浏览

c++ - 平方对数

所以我最近几天一直在尝试这个问题,但没有运气。我的任务是找到从 1 到 x 的正方形对。

Num1 + Num2 = 完美平方(即 2 + 2 = 4. 16 + 20 = 36)

Num2 - Num1 = 一个完美的正方形。(即 2 - 2 = 0。20 - 16 = 4)

我已经越来越接近结果,但是对于我的生活来说,我无法弄清楚我的循环中出了什么问题。例如:这是我最新的方法:

测试一个数是否是完美平方的函数:

主要的:

由于某种原因,我的输出(无论“int number”有多大)被限制为一行。我的其他测试(例如让第二个循环持续到 j <= number)以我的 num1s 重复自己、num2s 超过 number 并打印每个数字直到它停止而结束。

我不知道下一步该去哪里,任何指示都会有所帮助。

谢谢你们

编辑:12的预期输出:

NPN + PP - N

2 2 4 0
4 5 9 1
6 10 16 4
8 8 16 0
8 17 25 9
10 26 36 16
12 13 25 1
12 37 49 25

12的实际输出:

NPN + PP - N

2 2 4 0

0 投票
1 回答
169 浏览

recursion - 递归牛顿平方根函数仅终止于完美平方

我编写了一个程序,看起来与我在网上看到的其他递归牛顿平方根函数非常相似。出于某种原因,这个只适用于完美的正方形,我似乎找不到原因。我尝试传递 3 个变量(epsilon),设置 x=a,将 a = 设置为第 9 行中传递的方程,然后传递 abs(a*ax)。我试图尽可能地描述它,这对我来说是一个稍微新的话题,我只是不确定这是否只能找到完美的根源,或者我的代码/方程式是否不正确。

编辑:该函数不仅适用于完美正方形,而且仅适用于完美正方形。如果它不是一个完美的正方形a最终是正确的值(在调试器中检查)但递归永远不会停止。我认为它必须与第 6 行中的比较有关,所以我尝试将 DBL_EPSILON 替换为a并返回不正确的值。
当输入不完美的正方形时,此错误也会显示在第 6 行:

RecursionProgrammingExcercisesMurphyT.exe 中 0x00007FFE8E9C06F0 (ucrtbased.dll) 处未处理的异常:0xC00000FD:堆栈溢出(参数:0x0000000000000001、0x00000013B2603FE8)。发生了

0 投票
2 回答
629 浏览

c - 递归查找列表中的完美平方和

我试图在动态分配的列表中递归地找到完美平方的总和。出于某种原因,我的函数一直忽略第一个元素。

*A 是指向数组第一个元素的指针。n 是元素的数量,表示它们的范围是 0 到 n-1。当 n 小于或等于零时, n-1 不是有效索引,因此我将 0 返回到完美平方和。

为什么第一个元素总是被忽略?它适用于列表中的所有其他元素。

编辑:我尝试再次调用该函数,似乎只有数字 1 被忽略了。通过修改 for 循环条件已解决此问题,因此解决方案是:

0 投票
1 回答
210 浏览

algorithm - 有人可以向我解释为什么完美平方是 O(sqrt(n)) 的运行时间吗?

问题

  • 给定一个正整数 n,找出总和为 n 的最小完美平方数(例如,1、4、9、16,...)。

    示例 1: 输入:n = 12 输出:3 解释:12 = 4 + 4 + 4

    示例 2: 输入:n = 13 输出:2 解释:13 = 4 + 9。

建议的解决方案 (BFS)

这个特定的 BFS 如何在 O(sqrt(n)) 中运行?因为我在想的是找到正方形需要 O(sqrt(n))。因为有2个for循环,(for y in lst1取O(sqrt(n)),for x in toCheck取O(sqrt(n)),不应该是O(n)吗?

0 投票
3 回答
5034 浏览

java - 如何在 Java 8 中打印唯一的数字平方?

这是我查找唯一编号并打印其正方形的代码。如何将此代码转换为 java8,因为流式传输 API 会更好?

0 投票
1 回答
58 浏览

c - 检查n个数字是否是完美的平方以及如何计算它们的总和?

我必须解决的问题是检查用户引入的 n 个数字是否是完美平方,然后我必须计算这些完美平方的总和。我了解如何执行这些操作,但我的代码根本不适用于应该计算总和的部分。我不知道该怎么办。

0 投票
1 回答
201 浏览

mit-scratch - 如何从零开始显示低于给定数字的所有完美正方形?

我能够列出输入数字之前的所有质数,但是由于我在 Scratch 上编码的经验不足,我很难构建一个数字以下所有完美正方形的列表。例如,如果您输入 17,则输出应为 16、9、4。

0 投票
1 回答
193 浏览

c++ - (C++) 生成数组中的第一个 p*n 完美平方数(从键盘输入 p 和 n)

我从键盘输入pn(int 类型)数字,我想将第一个p*n平方数生成到数组pp[99]中。这是我的代码:

但是我遇到了以下问题:例如,如果我输入p=3and n=3,它将只显示前 3 个平方数而不是 9,其余 6 个为零。现在我知道为什么会发生这种情况,只是不确定如何解决它(它正在检查第一个n * p自然数并查看哪些是正方形,而不是第一个n*p正方形)。

如果我把i--它添加到if{ }语句中,那么算法将永远不会结束,一旦它达到一个非平方数(这将是即时的,除非它检查的第一个是一个完美的平方),算法将停止迭代成功并且将被阻止无限次检查相同的号码。

有任何解决这个问题的方法吗?