30/09/2018, 23:05

Số chính phương

Em đọc code trên diễn đàn thì thấy đoạn code kiểm tra số chính phương:
if (a==int(sqrt(double(a))*sqrt(double(a))))
Anh/chị cho em hỏi vì sao phải ép kiểu a thành số thực và kết quả thành số nguyên, trong khi em không ép kiểu gì cả thì kết quả vẫn đúng ah

Xuân Hòa viết 01:11 ngày 01/10/2018

Khái miệm số chính phương: là số có căn bậc 2 là số tự nhiên (hoặc có thể hiểu nó là kết quả từ việc bình phương 1 số tự nhiên.
Như này có vẻ dễ hiểu hơn

if((int)sqtr(a) == sqrt(a){
    // a là số chính phương
}
Bài liên quan
0