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.
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
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
Chẳng biết mình muốn cái gì nữa :v
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:
#include <stdio.h> // sprintf trong thư viện stdio.h int isPalindrom (char *s) { char *p = s; // cho p trỏ và nơi mà s trỏ while (*++s) // Đến cuối chuỗi s ; s--; while (*p != NULL) // Khi *p chưa phải NULL if (*p++ != *s--) // Kiểm tra xem nó kó khác với ký tự tương ứng không return 0; // Có thì trả về 0 return 1; // Nếu chuỗi là palindrom thì trả về 1 } int main(void) { char str [10]; int num; if (isPalindrom (str)) // kt xem số có phải là Palindrom không? else return 0; }
Đã được chỉnh sửa lần cuối bởi taller : 10-09-2011 lúc 08:18 AM.
đúng rồi nên dùng spintf cho nó nhanh, như trên
spintf có công dụng là chuyển các số chả lại thành 1 chuỗi luôn ah!
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:
Đã được chỉnh sửa lần cuối bởi ghost.love : 17-09-2011 lúc 10:24 PM.