Math 如何将平方根设置为仅为整数
我似乎找不到任何答案,但是如果我有一个像Math 如何将平方根设置为仅为整数,math,square-root,Math,Square Root,我似乎找不到任何答案,但是如果我有一个像(X^2-4n)的平方根这样的方程,其中4n是一个常数,我怎么能设置X,这样方程就给出了一个整数 我知道将x设置为n+1是可行的,但我正在寻找一种能够生成所有解的算法。因此,问题是找到所有整数对(x,m),这样: sqrt(x^2 - 4n) = m 我们有: x^2 - 4n = m^2 或 所以 现在,2除以4n,因此它必须除以(x+m)或(x-m)。但如果它把其中任何一个分开,它也会把另一个分开。因此a:=(x+m)/2和b:=(x-m)/2都是
(X^2-4n)
的平方根这样的方程,其中4n是一个常数,我怎么能设置X
,这样方程就给出了一个整数
我知道将x设置为n+1是可行的,但我正在寻找一种能够生成所有解的算法。因此,问题是找到所有整数对
(x,m)
,这样:
sqrt(x^2 - 4n) = m
我们有:
x^2 - 4n = m^2
或
所以
现在,2
除以4n
,因此它必须除以(x+m)
或(x-m)
。但如果它把其中任何一个分开,它也会把另一个分开。因此a:=(x+m)/2和b:=(x-m)/2都是整数。所以
a*b = n
因此,这只是以所有可能的方式将n
分解为a*b
,并从上述等式中恢复x
和m
:
x = a + b.
m = a - b.
您的解决方案x=n+1
对应于平凡的因式分解n=n*1
,其中a=n
和b=1
更新
这是一个打印所有对的算法(x,m)
[初始化]a:=n
[检查]如果n%a=0
b:=n/a
打印(a+b),打印(a-b)
[减量]a:=a-1
[结束?]如果a*a>n
转到步骤2
因此,问题是找到所有整数对(x,m)
,以便:
sqrt(x^2 - 4n) = m
我们有:
x^2 - 4n = m^2
或
所以
现在,2
除以4n
,因此它必须除以(x+m)
或(x-m)
。但如果它把其中任何一个分开,它也会把另一个分开。因此a:=(x+m)/2和b:=(x-m)/2都是整数。所以
a*b = n
因此,这只是以所有可能的方式将n
分解为a*b
,并从上述等式中恢复x
和m
:
x = a + b.
m = a - b.
您的解决方案x=n+1
对应于平凡的因式分解n=n*1
,其中a=n
和b=1
更新
这是一个打印所有对的算法(x,m)
[初始化]a:=n
[检查]如果n%a=0
b:=n/a
打印(a+b),打印(a-b)
[减量]a:=a-1
[结束?]如果a*a>n
转到步骤2
因此,问题是找到所有整数对(x,m)
,以便:
sqrt(x^2 - 4n) = m
我们有:
x^2 - 4n = m^2
或
所以
现在,2
除以4n
,因此它必须除以(x+m)
或(x-m)
。但如果它把其中任何一个分开,它也会把另一个分开。因此a:=(x+m)/2和b:=(x-m)/2都是整数。所以
a*b = n
因此,这只是以所有可能的方式将n
分解为a*b
,并从上述等式中恢复x
和m
:
x = a + b.
m = a - b.
您的解决方案x=n+1
对应于平凡的因式分解n=n*1
,其中a=n
和b=1
更新
这是一个打印所有对的算法(x,m)
[初始化]a:=n
[检查]如果n%a=0
b:=n/a
打印(a+b),打印(a-b)
[减量]a:=a-1
[结束?]如果a*a>n
转到步骤2
因此,问题是找到所有整数对(x,m)
,以便:
sqrt(x^2 - 4n) = m
我们有:
x^2 - 4n = m^2
或
所以
现在,2
除以4n
,因此它必须除以(x+m)
或(x-m)
。但如果它把其中任何一个分开,它也会把另一个分开。因此a:=(x+m)/2和b:=(x-m)/2都是整数。所以
a*b = n
因此,这只是以所有可能的方式将n
分解为a*b
,并从上述等式中恢复x
和m
:
x = a + b.
m = a - b.
您的解决方案x=n+1
对应于平凡的因式分解n=n*1
,其中a=n
和b=1
更新
这是一个打印所有对的算法(x,m)
[初始化]a:=n
[检查]如果n%a=0
b:=n/a
打印(a+b),打印(a-b)
[减量]a:=a-1
[结束?]如果a*a>n
转到步骤2
这个问题属于一个叫做A的问题。@Robert Dodier:这个问题比丢番图方程简单得多。这就像x*y=100。@Pang这个问题和我的答案现在更适合这个网站了吗?这个问题属于一个叫做A的问题。@Robert Dodier:这个问题比丢番图方程简单得多。这就像x*y=100。@Pang这个问题和我的答案现在更适合这个网站了吗?这个问题属于一个叫做A的问题。@Robert Dodier:这个问题比丢番图方程简单得多。这就像x*y=100。@Pang这个问题和我的答案现在更适合这个网站了吗?这个问题属于一个叫做A的问题。@Robert Dodier:这个问题比丢番图方程简单得多。就像x*y=100。@Pang这个问题和我的答案现在更适合这个网站了吗?