面接アルゴリズムの问题:1つの整数、それは100をプラスした后に1つの完全な平方数で、更に168をプラスしてまた1つの完全な平方数で、この数はいくらですか?
1321 ワード
タイトル
1つの正の整数、それは100をプラスした後に1つの完全な平方数で、更に168をプラスしてまた1つの完全な平方数で、この数はいくらですか?
思想
まず正の整数を考慮し,負の整数は類似している.a+100=x*x*x+168=y*y則(y+x)(y-x)=168で、条件に合致する2つの因数(m,n)の積が168に等しいことを先に計算し、y-x=m;y+x=nでx=(n-m)/2である.最終:a=x*x-100.
コード#コード#
やはりその言葉、アルゴリズムが悪いので、顔を殴ってください.
1つの正の整数、それは100をプラスした後に1つの完全な平方数で、更に168をプラスしてまた1つの完全な平方数で、この数はいくらですか?
思想
まず正の整数を考慮し,負の整数は類似している.a+100=x*x*x+168=y*y則(y+x)(y-x)=168で、条件に合致する2つの因数(m,n)の積が168に等しいことを先に計算し、y-x=m;y+x=nでx=(n-m)/2である.最終:a=x*x-100.
コード#コード#
private static void fun() {
int x;
// 168 x*y 。 , m Math.sqrt(N)
for (int i = 1; i <= Math.sqrt(168); i++) {
if(168%i==0){
x=(168/i-i)/2;
//x*x=a+100>100, so x>=10
if(x>=10){
System.out.println(x*x-100);
}
}
}
}
やはりその言葉、アルゴリズムが悪いので、顔を殴ってください.