Kezdőoldal » Számítástechnika » Programozás » Logikai formula átírása Java...

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
2012. ápr. 16. 19:59
Hasznos számodra ez a válasz?
 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.
2012. ápr. 16. 21:07
Hasznos számodra ez a válasz?

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!