int f(int i) {
if (i >= 10) i -= 5;
if (i <= 1) return 1;
return (i%2 == 0) ?
(i * f(i-1)) :
(i + f(i-2));
}
int a = f(3 + 5);
các bác gthích cho em về cái lệnh return thứ 2 vs ạ. em cảm ơn!
int f(int i) {
if (i >= 10) i -= 5;
if (i <= 1) return 1;
return (i%2 == 0) ?
(i * f(i-1)) :
(i + f(i-2));
}
int a = f(3 + 5);
các bác gthích cho em về cái lệnh return thứ 2 vs ạ. em cảm ơn!
i % 2 == 0
để kiểm tra i
có chia hết cho 2 không, hoặc nói cách khác i
có phải là số chẵn không.
thế còn 2 dòng ở sau return là sao ạ
Là ternary operator
(sách tiếng Việt hay gọi là toán tử ba ngôi, mình không nhớ rõ). Kiểu như:
int i = a > 5 ? 6 : 7;
Biểu thức này sẽ gán 6 cho i nếu a > 5, và ngược lại thì gán 7. Nếu bạn đã học if-else
rồi thì biểu thức trên giống như:
if (a > 5) i = 6;
else i = 7;
à em hiểu r, tlks bác ^^