可以解决一下吗初学者搞不明白(语言-c++)

怎么做到输入一个整数,判断这个数到一有多少个回环数并且直接输出回环数数目?


#include <iostream>
#include <string>
using namespace std;
int main()
{
    int i,n;
    string s;
    cout<<"请输入你要输入一个三位数数:"<<endl;
    cin>>s;
    n=s.length();
    for(i=0;i<n/2;i++)             //因为判断的是一对
    {
    
        if(s[i]-s[n-1-i]==NULL)    //因为相等所以相减为0;
        {
            cout<<"YES!"<<endl;
        }
        else
        {
            cout<<"NO"<<endl;
        }
    }
    return 0;
}

//个位:gw=number%10;
//十位:sw=number/10%10;
//百位:bw=number/100

回环数是??
121这样的?

#include <iostream>
using namespace std;
bool solution(int x){
    int num=0;
    if(x<0||(x%10==0&&x!=0))
          return false;
    int flag=x;
    int i=0;
    while(flag>0){
        i=flag%10;
        flag=flag/10;
        num=num*10+i;
    }
    if(num==x)
        return true;
    return false;
} 
int main() {
    int x;
    cin>>x;
    if(!solution(x))
        cout<<"NO!"<<endl;
    else
    {
        int count = 0;
        for(int i=1;i<=x;i++)
            if(solution(i))
               count++;
        cout<<count<<endl;
    }
    return 0;
}


你可以看看这个链接,里面有实现原理和c++代码
https://blog.csdn.net/alicekizuna/article/details/107079114