Từ 1 tới 8 trên tổng số 8 kết quả

Đề tài: Thuật Toán Giải Bài Tập palindrom

  1. #1
    Ngày gia nhập
    01 2011
    Nơi ở
    Nhà
    Bài viết
    4

    Mặc định Thuật Toán Giải Bài Tập palindrom

    Một số nguyên gọi là palindrom nếu nó đọc từ trái sang cũng bằng đọc từ phải sang. Ví dụ 121 là số palindrom.
    Yêu cầu:
    - Hãy xây dựng hàm kiểm tra một số có phải là palindrom hay không?
    - Viết chương trình sử dụng hàm đã viết để in ra các số palindrom.
    Dữ liệu vào trong file Dayso.in gồm n + 1 dòng:
    - dòng đầu ghi số n ( 0 < n < 1000 )
    - n dòng còn lại mỗi dòng ghi một số nguyên dương m (0< m <106)
    Kết quả in ra mà hình các số Palindrom
    Ví dụ: Tập tin Dayso.in là: 5
    102
    121
    555
    250
    9889
    Kết quả xuất ra màn hình các số Palindrom là: 121 555 9889

    Ai Có thể giải thuật giúp em được không ah!
    không cần code đâu
    em nghĩ hoài chưa ra cách

  2. #2
    Ngày gia nhập
    04 2010
    Nơi ở
    My Computer
    Bài viết
    195

    Chuyển nó sang kiểu chuỗi và kiểm tra xem chuỗi đó và chuỗi đảo ngược của nó có bằng nhau k? Nếu bằng tức nó là palindrom.
    Hôm nào em ra đi anh thẫn thờ trên phố nhỏ
    Mây chiều giăng lối đi em đứng nhìn mắt bơ vơ
    Tóc xõa từ bờ vai hoen mi sầu rưng rưng lệ
    Cho tròn tuổi tình yêu lúc ban đầu xa cách nhau

  3. #3
    Ngày gia nhập
    01 2011
    Nơi ở
    Nhà
    Bài viết
    4

    Trích dẫn Nguyên bản được gửi bởi thach.thuc Xem bài viết
    Chuyển nó sang kiểu chuỗi và kiểm tra xem chuỗi đó và chuỗi đảo ngược của nó có bằng nhau k? Nếu bằng tức nó là palindrom.
    Có phải ý bạn nói là cho 1 chuỗi bao nhiu số đó
    rùi import từng số vào chuỗi đó
    VD:
    Số 505505
    a[1] = 5
    a[2] = 0
    a[3] = 5
    a[4] = 5
    a[5] = 0
    a[6] = 5

    sau đó dán lại thế nào vậy bạn

  4. #4
    Ngày gia nhập
    10 2010
    Nơi ở
    Đại học Bách Khoa Hà Nội
    Bài viết
    45

    Trích dẫn Nguyên bản được gửi bởi mrkidprois1 Xem bài viết
    Một số nguyên gọi là palindrom nếu nó đọc từ trái sang cũng bằng đọc từ phải sang. Ví dụ 121 là số palindrom.
    Yêu cầu:
    - Hãy xây dựng hàm kiểm tra một số có phải là palindrom hay không?
    - Viết chương trình sử dụng hàm đã viết để in ra các số palindrom.
    Dữ liệu vào trong file Dayso.in gồm n + 1 dòng:
    - dòng đầu ghi số n ( 0 < n < 1000 )
    - n dòng còn lại mỗi dòng ghi một số nguyên dương m (0< m <106)
    Kết quả in ra mà hình các số Palindrom
    Ví dụ: Tập tin Dayso.in là: 5
    102
    121
    555
    250
    9889
    Kết quả xuất ra màn hình các số Palindrom là: 121 555 9889

    Ai Có thể giải thuật giúp em được không ah!
    không cần code đâu
    em nghĩ hoài chưa ra cách
    1. Chuyển số thành chuỗi: dùng phép chia nguyên và chia dư cho 10
    2. Đảo ngược chuỗi: dùng hàm strrev(s)
    3. So sánh chuỗi đã cho và chuối đảo ngược: dùng hàm strcmp(s1, s2)
    Chẳng biết mình muốn cái gì nữa :v

  5. #5
    Ngày gia nhập
    01 2011
    Nơi ở
    \WINDOWS\Assembly\
    Bài viết
    54

    Chuyển nó thành chuỗi dùng hàm sprintf ấy. Như vậy sẽ dễ hơn. Bạn cứ tham khảo code của mình:

    C Code:
    1. #include <stdio.h> // sprintf trong thư viện stdio.h
    2.  
    3. int isPalindrom (char *s)
    4. {
    5.     char *p = s; // cho p trỏ và nơi mà s trỏ
    6.     while (*++s) // Đến cuối chuỗi s
    7.     ;
    8.     s--;
    9.    
    10.     while (*p != NULL) // Khi *p chưa phải NULL
    11.           if (*p++ != *s--) // Kiểm tra xem nó kó khác với ký tự tương ứng không
    12.              return 0; // Có thì trả về 0
    13.     return 1; // Nếu chuỗi là palindrom thì trả về 1
    14. }
    15.  
    16. int main(void)
    17. {
    18.     char str [10];
    19.     int num;
    20.    
    21.     scanf ("%d", &num); // Đọc số
    22.     sprintf (str, "%d", num); // Chuyển số thành chuỗi và lưu vào str
    23.    
    24.     if (isPalindrom (str)) // kt xem số có phải là Palindrom không?
    25.     printf ("%d is a Palindrom number.\n", num);
    26.      else
    27.                   printf ("%d isn't a Palindrom number.\n", num);
    28.        
    29.     fflush (stdin);
    30.     getchar ();
    31.    
    32.     return 0;
    33. }
    Đã được chỉnh sửa lần cuối bởi taller : 10-09-2011 lúc 08:18 AM.

  6. #6
    Ngày gia nhập
    03 2011
    Nơi ở
    H3t.org
    Bài viết
    37

    Mặc định Thuật Toán Giải Bài Tập palindrom

    đúng rồi nên dùng spintf cho nó nhanh, như trên

  7. #7
    Ngày gia nhập
    01 2011
    Nơi ở
    Nhà
    Bài viết
    4

    spintf có công dụng là chuyển các số chả lại thành 1 chuỗi luôn ah!

  8. #8
    Ngày gia nhập
    11 2010
    Bài viết
    49

    Nông dần nè.
    Các bạn đừng có phụ thuộc vào ngôn ngữ. Nếu không có sprintf thì sao. nói chung là nên giải quyết bằng thuật toán và tự viết riêng cho mình thì tốt hơn là phải dùng hàm của ngôn ngữ.
    C Code:
    1. for (..........)
    2. {
    3.    int a= số đọc vào
    4.    int tg=0;
    5.        while (a!=0)
    6.                {
    7.                     tg=tg*10+a%10;
    8.                     a=a/10;
    9.                  }
    10.                 (tg==a)? printf("Đúng ") : printf("sai");
    11. // đọc số tiếp theo.
    12. }
    Đã được chỉnh sửa lần cuối bởi ghost.love : 17-09-2011 lúc 10:24 PM.

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

  1. Giải thuật shaker sort. Giúp mình giải thuật với?
    Gửi bởi nguyenhai trong diễn đàn Nhập môn lập trình C/C++
    Trả lời: 6
    Bài viết cuối: 29-01-2015, 10:53 PM
  2. Giải thuật Giải thuật Chia để trị, hướng đi với giải thuật này thế nào?
    Gửi bởi maivivan13 trong diễn đàn Thắc mắc CTDL & Giải thuật
    Trả lời: 0
    Bài viết cuối: 23-10-2012, 10:22 PM
  3. Bài tập C Cần giải giúp 3 câu trong đề thi kĩ thuật lập trình C và Cấu trúc dữ liệu và giải thuật
    Gửi bởi nguyenthi0602 trong diễn đàn Nhập môn lập trình C/C++
    Trả lời: 2
    Bài viết cuối: 24-09-2012, 08:42 PM
  4. Giải thuật xắp xếp Quick sort, biểu diễn bằng hình ảnh giải thuật này?
    Gửi bởi yuklong trong diễn đàn Thắc mắc lập trình C/C++/C++0x
    Trả lời: 9
    Bài viết cuối: 09-06-2012, 09:20 AM
  5. Tài liệu về giải thuật mã hóa. Mã hóa file theo giải thuật DES. Ai có giúp mình?
    Gửi bởi daolong83 trong diễn đàn Công cụ, ebooks C#, ASP.NET, và Windows Mobile
    Trả lời: 6
    Bài viết cuối: 17-07-2009, 11:28 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