12月 23, 2018
配列内の広場の数字
スレッド: n個の整数の配列のために. 配列内の正方形の数字を検索し、プリントアウト.
入力: 最初の行は整数nであります. 二行目 2 Nは整数配列であります, スペースで区切られた数字の.
出力: スペースで区切られた複数行の数は、アレイ内の正方形の数であります. これらの数字は、元の配列順序として順序であります. シーケンスは、正方形の番号を持っていない場合, raの “見つかりません”
例:
入力: 3 4 3 2 出力: 4
Bạn chưa đăng nhập? ログイン để Submit ngay!
12 注釈
コメントの追加
あなたでなければなりません ログイン コメントする.
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.
anh ơ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(int n)
{ int m=sqrt(n個);
for(int i=1;私<=m;i++)
{
if(m*i==n)
リターン 1;
}
リターン 0;
}
như thế này thì kết quả đúng
-khi em để return 0 trước return 1:
int kt(int n)
{ int m=sqrt(n個);
for(int i=1;私<=m;i++)
{
if(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(n個);
if(n個 > 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,
Cảm ơn bạn.