Code tính phép tính toàn ra 0

các anh cho em hỏi bài dưới đây em sai chỗ nào mà tất cả số n em nhâp vào kết quả đều ra 0 với ạ @@. EM cảm ơn trước.
Đầu bài: + nếu n chẵn: 1+1/2+1/2^2+1/2^3+…+1/2^n
+ Nếu n lẻ : căn bậc 2(n^2+1)

Math.pow(1/2, <any number>); // luôn bằng 0

PS: lần sau bạn nên post code vào trong cặp dấu ``` thay vì ảnh để mọi người k phải gõ lại code của bạn

2 Likes

e cảm ơn, vậy bh phải sửa thế nào để ra kết quả đúng hả anh :neutral_face:

1/2 là phép chia nguyên. Sửa thành 1.0/2.

1 Like

very simple

1/2; // kết quả bằng 0
(float) 1/2; // kết quả bằng 0.5
1f/2; // kết quả bằng 0.5

=> Math.pow(1/2, i); sửa thành Math.pow((float)1/2, i); // sẽ cho kết quả khác 0

PS: nếu bạn muốn biết lí do thì xem lại phần biểu thức và kiểu dữ liệu trong java là sẽ có câu trả lời

2 Likes

e cảm ơn 2 a :grin:. Đã sửa đc rồi ạ

83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?