Trang 2 trên tổng số 2 Đầu tiênĐầu tiên 12
Từ 11 tới 13 trên tổng số 13 kết quả

Đề tài: Kiểm tra tính chẵn lẻ của một số

  1. #11
    Ngày gia nhập
    01 2008
    Bài viết
    2

    Mặc định Kiểm tra tính chẵn lẻ của một số

    Trích dẫn Nguyên bản được gửi bởi huynguyen Xem bài viết
    Mọi người đang bị cuốn vào việc xử lý số nhị phân rồi, thay vì suy nghĩ cách để ko phải đếm mà vẫn ra kết quả chính xác sao ta ko nghĩ nó ko phải là string mà là 1 con số và máy có thể nhận biết được nó. Gợi mở thế thôi, còn lại bà con nghiên cứu tiếp nhé, chuyện vui còn nằm phía sau ^^
    Có bạn đã nói dùng phép xor, mình thấy ổn đấy chứ.
    Đầu tiên gán a = 1, b = 0;
    đọc kí tự nếu = 1 thì a = a xor 1 ngược lại b = b xor 0
    cuối cùng a = 0 thì số kí tự 1 lẻ, ngược lại chẵn
    b = 0 số kí tự 0 lẻ, ngược lại chẵn

  2. #12
    Ngày gia nhập
    08 2006
    Bài viết
    59

    Gửi NT_OnlyLove,

    Tui nghĩ có thể xài XOR:
    A xor 0 -> A
    A xor A -> 0

    Cách này không ra được, bạn có thể post lên code xem có được không?
    Khởi tạo 1 biến v về 0
    Đọc 1 ký tự (=> sẽ được mã ASCII) => v = (v xor mã ASCII)
    Sau khi đọc hết mọi ký tự: nếu số lần xuất hiện của cả '0' lẫn '1' đều là chẵn thì v vẫn có giá trị như lúc khởi tạo

    (nói chung: khởi tạo v về c; nếu gặp '0' thì v = v xor a; nếu gặp '1' thì v = v xor b; chọn a,b,c khác nhau từng đôi một là được)

    Còn xài xor theo ý của bạn vtq (automat 4 trạng thái) cũng được (bạn viết có hơi lộn 1 chút)

    (hiểu biết nông cạn; có gì sai sót mong được góp ý; xin cám ơn)

    -thân
    Đã được chỉnh sửa lần cuối bởi bete : 22-01-2008 lúc 03:37 PM.

  3. #13
    Ngày gia nhập
    07 2007
    Nơi ở
    Sơn La
    Bài viết
    133

    Oh, cách xor này khá là hay với hai tính trạng chẵn lẻ ( đúng, sai hay 1 và 0).

    Gửi Bete: Mình xin lỗi vì mới xem qua nên hôm qua chưa có hiểu cách của bạn.
    Còn bạn nói về Automat là đúng rồi đó.
    Cái này hôm mình nhìn thấy một bảng chuyển trạng thái với automat đơn định nên mình viết tự đi viết code dưới dạng matrix.
    Trạng thái đầu và cuối trùng nhau thì đó sẽ là chẵn, giống như là đi chơi và đi về nhà thì chúng ta phải đi chẵn lần đoạn đường đó vậy.

    Còn đây là bảng chuyển, các bạn có thể tham khảo để có một cách giải khác:

    Code:
               0       1
       S0     S3      S1
       S1     S2      S0
       S2     S1      S3
       S3     S0      S2
    Nhìn vào chỉ số thì các bạn có thể mô tả được một automat đơn định với chuỗi chẵn 0 , chẵn 1.
    Đây chỉ là một cách , còn cách của Bete cũng rất hay.
    Cảm ơn bete, đúng là chúng ta không chỉ nên giới hạn suy nghĩ của mình theo một chiều ( đếm, automat,xor...).
    Còn cái ... thì mình chưa có nghĩ ra
    Trao đổi kiến thức sẽ giúp ta tiếp cận nhanh với kiến thức.

Các đề tài tương tự

  1. Lập trình C Bài tập in ra những số chẵn
    Gửi bởi trantaneri1993 trong diễn đàn Nhập môn lập trình C/C++
    Trả lời: 5
    Bài viết cuối: 24-09-2013, 08:02 PM
  2. Cách tạo ma phương chẵn?
    Gửi bởi dehin trong diễn đàn Nhập môn lập trình C/C++
    Trả lời: 7
    Bài viết cuối: 22-12-2012, 02:32 PM
  3. Kỹ thuật C sắp xếp chẵn lẻ xen kẻ
    Gửi bởi hoclap trong diễn đàn Nhập môn lập trình C/C++
    Trả lời: 0
    Bài viết cuối: 10-07-2012, 09:45 PM
  4. Bài tập C số chẵn số lẻ
    Gửi bởi trungthienckc trong diễn đàn Nhập môn lập trình C/C++
    Trả lời: 2
    Bài viết cuối: 28-10-2011, 12:10 AM
  5. Mảng trên C++ tìm tổng chẵn, lẻ của mảng
    Gửi bởi jimhawkins trong diễn đàn Nhập môn lập trình C/C++
    Trả lời: 3
    Bài viết cuối: 13-10-2011, 08:42 PM

Quyền hạn của bạn

  • Bạn không thể gửi đề tài mới
  • Bạn không thể gửi bài trả lời
  • Bạn không thể gửi các đính kèm
  • Bạn không thể chỉnh sửa bài viết của bạn