Đố vui lập trình (2)

Nào chúng ta hãy tiếp tục với câu đố vui số 2 nhé.

Câu hỏi:

Cho một mảng các số nguyên, trong đó có duy nhất một số xuất hiện đúng một lần trong mảng còn các số còn lại có mặt đúng 2 lần. Hãy viết một đoạn chương trình đưa ra số có mặt đúng 1 lần.

3 phản hồi to “Đố vui lập trình (2)”

  1. em viết đoạn câu lệnh này như sau:

    for i:=1 to n do v[i]:=0; {mặc định các phần tử này chưa được duyệt là xuất hiện mấy lần}

    for i:=1 to n-1 do
    if (v[i]=0) then
    for j:= 1 to n do
    if (a[i]=a[j] )then begin
    v[i]:=1; v[j]:=1;
    break;
    end;
    {in ra so có mặt dung 1 lần}
    for i:=1 to n do
    if v[i]=0 then write(a[i]);

    Trong đoạn code này em sử dụng một mảng v[i] đánh dấu chỉ nhận 2 giá trị là 0 hoặc 1, nếu v[i]=1 thì giá trị của phần tử a[i] xuất hiện 2 lần còn nếu =0 thì giá trị của phần tử a[i] này xuất hiện 1 lần và in nó ra thui

    bác nào có lời giải hay hơn thì pm vào mail thuynt27@gmail.com cho em với. 🙂

  2. nguyễn thị Thủy Says:

    sorry cả nhà em ko dùng web hay blog nữa, quên mất, có ai có cách khác vào giải thích và pm cho em vào mail để em học hỏi thêm nhe!

  3. Cách làm của bạn là rất chính xác. Tuy nhiên như bạn thấy thì chúng ta đã phải chạy 3 vòng for.

    Liệu bạn có thể đề xuất cách nào chỉ dùng 1 vòng for hay không?

Gửi phản hồi

Mời bạn điền thông tin vào ô dưới đây hoặc kích vào một biểu tượng để đăng nhập:

WordPress.com Logo

Bạn đang bình luận bằng tài khoản WordPress.com Log Out / Thay đổi )

Twitter picture

Bạn đang bình luận bằng tài khoản Twitter Log Out / Thay đổi )

Facebook photo

Bạn đang bình luận bằng tài khoản Facebook Log Out / Thay đổi )

Google+ photo

Bạn đang bình luận bằng tài khoản Google+ Log Out / Thay đổi )

Connecting to %s

%d bloggers like this: