Math 仅使用加法和减法求自然数平方根的公式
如何仅使用加法和减法求出自然数的平方根?Math 仅使用加法和减法求自然数平方根的公式,math,square-root,Math,Square Root,如何仅使用加法和减法求出自然数的平方根? 谢谢。 [我已在互联网上查找过,但未找到任何与此问题相关的内容。] 对我的问题的解释:我想创建一个c函数,它只接收一个自然数并返回它的平方根。 您可能会说使用“sqrt”函数,但我刚刚想到创建一个函数,它将使用加法和减法运算符来创建平方根。 您不必编写程序,只需编写公式即可。谢谢。 更新:这个问题不是专门关于编码的,而是关于数学的。(我标记了“c”,因为它有一些链接,但这个问题不是关于编码的。)n2相当于n个前奇数的和 您可以在n上迭代(因此只将下一个奇
谢谢。
[我已在互联网上查找过,但未找到任何与此问题相关的内容。]
对我的问题的解释:我想创建一个c函数,它只接收一个自然数并返回它的平方根。
您可能会说使用“sqrt”函数,但我刚刚想到创建一个函数,它将使用加法和减法运算符来创建平方根。
您不必编写程序,只需编写公式即可。谢谢。
更新:这个问题不是专门关于编码的,而是关于数学的。(我标记了“c”,因为它有一些链接,但这个问题不是关于编码的。)n2相当于n个前奇数的和 您可以在n上迭代(因此只将下一个奇数添加到先前计算的和中),直到平方等于或超过您的数字
k = 0
sum = 0
while sum < target:
k += 1
sum += 2k-1
if sum > target:
the target doesn't have integer root
else:
k is the square root
k=0
总和=0
而sum目标:
目标没有整数根
其他:
k是平方根
我们可以使用这样一个事实,即(n+1)²=n²+2n+1
def sqrt(n):
k = 0
s = 0
while s <= n:
s = s+k+k+1
k = k+1
return k-1
print (sqrt(0)) # 0^2
print (sqrt(1)) # 1^2
print (sqrt(2)) # (1.4142135623730951...)^2
print (sqrt(144)) # 12^2
print (sqrt(169)) # 13^2
print (sqrt(196)) # 14^2
print (sqrt(255)) # 15^2
print (sqrt(1000)) # (31.622776601683793...)^2
print (sqrt(2000)) # (44.721359549995796...)^2
def sqrt(n):
k=0
s=0
我们能用乘法和除法吗?最好不要用。但是,我愿意看到乘法和除法的公式@Mitchel0022您希望结果是整数还是双精度?@DavidRTribble请查看更新。谢谢。我投票结束这个问题,因为这个问题不是专门关于编码的,而是关于数学的。他想要平方根,而不是平方。@zch:这就是为什么我不应该在晚上发表这样的文章。我以不同的方式重复使用了我的答案。@GaousMuhammadSaklaen:一般来说,平方根是使用迭代方法计算的,从原始的矩形平方法到更有趣的方法。我认为不存在不涉及迭代的公式。它是否更适合math.stackexchange.com?他们可能会证明它不存在,或者提供这样做的方法。@GaousMuhammadSaklaen的人对你投了反对票,因为这个问题与堆栈溢出无关,这里我们主要讨论的是代码,而不是数学(除非数学是编码问题的一个重要部分)。没关系。我不需要密码。我只需要一个公式来求平方根。@GaousMuhammadSaklaen我想这可能很复杂。这里有一些方法,但大多数都是算法。除了一些粗略的估计。谢谢你评论这个链接。但是,你可以理解,这不是我问的问题@里卡斯蒂洛夫。