0
나는 복식의 지수의 정확성과 다음 코드에서 자신의 합계에 문제가 :복식과 코드 정확도 : 무엇이 잘못 되었습니까?
public static void main(String[] args) {
for(double A = 1; A <= 100; A++)
{
for(double B = 1; B <= 100; B++)
{
for(double C = 1; C <= 100; C++)
{
for(double x = 3; x <= 100; x++)
{
for(double y = 3; y <= 100; y++)
{
for(double z = 3; z <= 100; z++)
{
if((Math.pow(A, x) + Math.pow(B, y)) == (Math.pow(C, z)))
{
System.out.println(A+"^"+x+" + "+B+"^"+y+" = "+C+"^"+z);
}
}
}
}
}
}
}
}
하는 출력의 첫번째 다섯 개 용어는 다음과 같습니다
1.0^3.0 + 2.0^53.0 = 2.0^53.0
1.0^3.0 + 2.0^54.0 = 2.0^54.0
1.0^3.0 + 2.0^55.0 = 2.0^55.0
1.0^3.0 + 2.0^56.0 = 2.0^56.0
1.0^3.0 + 2.0^57.0 = 2.0^57.0
그것은이다 "2.0^53.0"을 사용하여 "1.0^3.0"(기본적으로 "1.0")을 추가하면 이 아닌 것으로 간주됩니다.은 "2.0^53.0"과 같습니다. y 값에 문제가 있습니다.
내 조건문에 결함이 있거나 다른 원시 데이터 형식을 사용해야 할 수도 있습니다 ... 감사합니다.
내 코드를 수정하려면 어떻게해야합니까? – J0nathan
@ J0nathan :'long' 또는'BigDecimal' /'BigInteger'를 사용하십시오. –
감사합니다. – J0nathan