Ich habe eine FormelVerschiedene out für gleiche Funktion in Java gegen Python
((x+y-1)*(x+y-2))/2 + x
und erhalten die Stringdarstellung um sie zu bewerten. So in Java 1.7 Ich schreibe
public static void main(String[] args)
{
int x = 99999;
int y = 99999;
int answer = ((x+y-1)*(x+y-2))/2 + x;
String s = Integer.toString(answer);
System.out.println(s);
}
und in Python 2,7
def answer(x, y):
z = ((x+y-1)*(x+y-2))/2 + x
return str(z);
print(answer(99999,99999))
Java gab mir die von 672047173
löschte während Python mir 19999400005
gab und scheint der Wert von Python korrekt ist. Was ist der Grund für diesen Unterschied?
Java-Berechnungen in diesem Fall definitiv Überlauf. – syntagma
dummer Fehler von mir. Danke für die Erklärung. –