有一种算法,用的异或,实际上是遍历不只一次,具体异或的算法:
今天想到另一种算法,用方程求解。
m = ( 1 + 2 + ...+ 1000) - (998 个的和)
x + y
n = ( 1 * 2 * .... * 1000) / ( 998 个的积)
x * y
经公式计算:www.2cto.com
x = sqart( pow( m , 2 ) / 4 - n ) + m /2
y = m - x
代码测试:
[java]
double x = 3 ;
double y = 39 ;
double m = x + y ;
double n = x * y ;
x = Math.sqrt( m * m / 4d - n ) + m / 2 ;
y = m - x ;
System.out.println( x );
System.out.println( y );