Informatică, întrebare adresată de Tudor2609, 8 ani în urmă

Variabila x este de tip întreg. Care dintre următoarele expresii C/C++ are valoarea 1 dacă și numai dacă numărul întreg memorat în variabila x este impar?
Varianta 1
x/2 == (x+1)/2
Varianta 2
x%2 == 1
Varianta 3
x*(x+1)%2 == 0
Varianta 4
x%2 == 1 || x%2 == -1

Răspunsuri la întrebare

Răspuns de NikTel
1

Răspuns:

Varianta 1

x/2 == (x+1)/2

(x+1)/2=x/2 + 1/2 deci expresia este falsa (0)

Varianta 2

x%2 == 1  

impartind   orice numar impar la  2  obtinem restul 1 deci expresia este adevarata (1)

Varianta 3

x*(x+1)%2 == 0

inmultind un numar impar cu un numar par obtinem un numar par

impartind   orice numar par la  2  obtinem restul 0 deci expresia este adevarata (1)

Varianta 4

x%2 == 1 || x%2 == -1

impartind   orice numar impar la  2  obtinem restul 1

x%2 == 1  expresia este adevarata (1)

x%2 == -1  expresia este falsa (0)

|| operatorul logic SAU(OR)

(a || b) adevarata  daca a=1 ori b=1

deci expresia este adevarata (1)

Alte întrebări interesante