【字符串处理+回文数】HDU-1282 回文数猜想

在这里插入图片描述
在这里插入图片描述

注解

1、简单的字符串处理,以及回文数的判断。
2、字符串与数字的转换。

代码

#include <iostream>
#include <sstream>
#include <vector>

using namespace std;

int isPalin(string s){
    int len = s.length();
    for(int i=0; i<len/2; i++){
        if(s.at(i)!=s.at(len-i-1)){
            return 0;
        }
    }
    return 1;
}

string reverse(string s){
    string s2;
    for(int i=s.length()-1; i>=0; i--){
        s2 += s.at(i);
    }
    return s2;
}

int strToInt(string s){
    stringstream ss;
    ss<<s;
    int num;
    ss>>num;
    return num;
}

string intToStr(int num){
    stringstream ss;
    ss<<num;
    string s;
    ss>>s;
    return s;
}

int main() {

    string s;
    while(cin>>s){
        int cnt = 0;
        vector<string> v;
        while(!isPalin(s)){
            v.push_back(s);
            cnt++;
            int next = strToInt(s) + strToInt(reverse(s));
            s = intToStr(next);
        }
        v.push_back(s);
        cout<<cnt<<endl;
        cout<<v.at(0);
        for(int i=1; i<v.size(); i++){
            cout<<"--->"<<v.at(i);
        }
        cout<<endl;
    }

    return 0;
}

结果

在这里插入图片描述

发布了475 篇原创文章 · 获赞 19 · 访问量 3万+

猜你喜欢

转载自blog.csdn.net/zhanggirlzhangboy/article/details/103748350