Az alábbi feladatot hogyan kellene Java-ban megoldani?
for(byte i = 1; i < 4; i++)
for(byte j = 1; j < 4; j++)
for(byte k = 1; k < 4; k++)
if ((i + j + k) == (i * j * k))
System.out.println(i * 100 + j * 10 + k);
Vagy egyszerűbben:
if (i * j * k == 6) System.out.println(i * 100 + j * 10 + k);
Privátban kaptam egy ügyes módosítást az egyik kollégától, k iterációja nélkül:
for(byte i = 1; i < 4; i++)
for(byte j = 1; j < 4; j++){
int k = 6 - i - j;
if (i * j * k == 6) System.out.println(i * 100 + j * 10 + k);
}
Ez meg csak a móka kedvéért van:
for(int i = 1; i < 322; i++)
if (i / 100 + i % 100 / 10 + i % 100 % 10 == i / 100 * (i % 100) / 10 * (i % 100 % 10))
System.out.println(i);
@#17:
A lényeg, hogy észrevegye: Remek, hogy letudta a feladatot azzal, amit először kiszenvedett magából, de a fejtörő élvezetesebb része a muszáj után kezdődik, hátha talál tisztább és/vagy érdekesebb megoldást is.
for(byte i = 1; i < 4; i++)
for(int j = 1; j < 4; j++)
for(short k = (short)1; k < (short)4; k++)
for(long l = 1l; l < 4l; ++l)
for(byte m = 01; m < 04; m++)
for(byte n = 1; n < 4; n++)
System.out.println("f" + "a" + "sz");
Kapcsolódó kérdések:
Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!