30/09/2018, 18:41

Nhờ giúp bài tập c++ về số Palindrome

Số được gọi là Palindrome nếu đọc từ trái sang phải hoặc từ phải sang trái đều được cùng một số. Ví dụ, số 75457 là số Palindrome. Dĩ nhiên, một số có phải là Palindrome hay không còn phụ thuộc vào cơ số biểu diễn. Số 17 không phải là Palindrome ở hệ thâp phân, nhưng là Palindrome ở hệ nhị phân (10001).
Yêu cầu: hãy xác định xem số cho trước (ở hệ 10) có phải là Palindrome không và nếu có thì ở các cơ số nào trong phạm vi từ 2 đến 16.

hacked viết 20:43 ngày 30/09/2018

Bạn viết hai hàm:

  • Kiểm tra một xâu có phải là palindrome hay không?
  • Chuyển một số ở kiểu số nguyên (cơ số 10) về các cơ số khác (trả về string).
    OK!
Gió viết 20:44 ngày 30/09/2018

Bạn viết 2 hàm ispalindrome va convert_base

VD hàm convert_base

char int2char[]="0123456789ABCDEF";

string convert_base(int n,int base){
      string ans;
      if(n==0){
            ans="0";
      }else{
            while(n){
                    ans+=int2char[n%base];
                    n/=base;
            }
            reverse(ans.begin(),ans.end());
      }
      return ans;
}

Duy Khánh viết 20:48 ngày 30/09/2018

viết đc hàm kt rồi nhưng k biết viết chuyển đổi cho mọi cơ số

Duy Khánh viết 20:57 ngày 30/09/2018

giúp e hàm còn lại với ạ =)))

Gió viết 20:54 ngày 30/09/2018
bool is_palindrome(string &s){
      string tmp=s;
      reverse(tmp.begin(),tmp.end());
      return tmp==s;
}
hacked viết 20:48 ngày 30/09/2018

reverse(ans.begin(),ans.end());

cái này làm gì vậy bạn?

Bài liên quan
0