Logikai formula átírása Java nyelve, valaki tud segíteni?
Figyelt kérdés
∀i((ai > 0) ⊃ ∃j((i < j) ^ (j > 3) ⊃ (aj = ai)))
ahol i,j { 1...8 }
ebből hogy lesz
boolean k1 = true;
for ( int i = 1; i <= 8; i++ ) {
if ( a[i] > 0 ) {
boolean k2 = false;
for ( int j = 1; j <= 8; j++ )
if ( !( i<j && j>3 ) || a[j]==a[i] )
k2 = true;
k1 = k1 && k2;
}
}
return k1;
A második for utáni If-et nem értem
2012. ápr. 16. 19:31
1/3 iostream válasza:
Az implikáció (⊃) kifejezhető két másik logikai művelettel: A ⊃ B <=> !A v B
2/3 A kérdező kommentje:
És a két booleanhoz egy kis magyarázat?
miért kell két bool miért nem elég az hogy ha a 2. if igaz akkor return true ha nem akkor meg false.
2012. ápr. 16. 20:35
3/3 iostream válasza:
A létezik és a minden kvantorok miatt így jön ki triviálisan, 1-1 átírásban. Lehetne rajta "optimalizálni", átalakítani, de gondolom nem ez a cél.
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
A weboldalon megjelenő anyagok nem minősülnek szerkesztői tartalomnak, előzetes ellenőrzésen nem esnek át, az üzemeltető véleményét nem tükrözik.
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!