Thầy ơi em góp ý 1 chút: test case của thầy có đoạn test cả số 0 = > nhận nó là SCP. Nhưng SCP ko có số 0 thầy nha ^^. Định nghĩa: SCP là sốmà chỉ khi bình phương căn bậc 2 của nó trở thành hình vuông. Nguồn gốc của từ sqrt = square root, bắt nguồn từ hình vuông.
ad ơi, bài của em là như thế này, em để int kt(整数n)
{ int m=sqrt(ñ);
为了(int i=1;一世<=m;我++)
{
如果(m*i==n)
返回 1;
}
返回 0;
} như thế này thì kết quả đúng
-khi em để return 0 trước return 1: int kt(整数n)
{ int m=sqrt(ñ);
为了(int i=1;一世<=m;我++)
{
如果(m*i!=n)
返回 0;
}
返回 1;
} như thế này thì sai
****(khi em post bài lên nó hay mất chữ, nên ad thêm chữ giùm em)
góp ý về lời giải: Ở hàm check của ad có đoạn:
— int m = (INT)sqrt(ñ);
如果(ñ > 0 && m*m == n) 返回 1;
—- Theo tôi ad nên check n>0 trước rồi mới thực hiện phép khai căn. thân,
a oi, s e nộp bài tới text 2 running xong nó mất luôn vậy ạ
Thử lại xem sao.
Thầy ơi em góp ý 1 chút: test case của thầy có đoạn test cả số 0 = > nhận nó là SCP. Nhưng SCP ko có số 0 thầy nha ^^. Định nghĩa: SCP là sốmà chỉ khi bình phương căn bậc 2 của nó trở thành hình vuông. Nguồn gốc của từ sqrt = square root, bắt nguồn từ hình vuông.
Ah, Cảm ơn em nhé. Mình đã sửa lại.
服务员, sao test 4 của em nó chạy ở trong code::blocks thì nó ra kết quả đúng mà ở đây nó lại sai ạ, em copy y chang từ code::blocks ra rồi ạ
Có thể lỗi trong quá trình chạy ở một số test đặc biệt nhé.
ad ơi, bài của em là như thế này, em để
int kt(整数n)
{ int m=sqrt(ñ);
为了(int i=1;一世<=m;我++)
{
如果(m*i==n)
返回 1;
}
返回 0;
}
như thế này thì kết quả đúng
-khi em để return 0 trước return 1:
int kt(整数n)
{ int m=sqrt(ñ);
为了(int i=1;一世<=m;我++)
{
如果(m*i!=n)
返回 0;
}
返回 1;
}
như thế này thì sai
****(khi em post bài lên nó hay mất chữ, nên ad thêm chữ giùm em)
Bạn chạy bằng tay đi sẽ thấy sai ở đâu.
bằng tay là sao ad
Là chạy bằng tay ấy. Viết các bước, các giá trị của biến ra giấy từng bước một.
góp ý về lời giải:
Ở hàm check của ad có đoạn:
—
int m = (INT)sqrt(ñ);
如果(ñ > 0 && m*m == n) 返回 1;
—-
Theo tôi ad nên check n>0 trước rồi mới thực hiện phép khai căn.
thân,
谢谢.