【问题描述】
输入一个正整数 n,求 1~n 之间“回文数”的个数。回文数是指一个数倒过来和原数一样,如 12121、11、1221、1 是回文数,而 1231 不是回文数。
【输入格式】
一行一个正整数 n,1≤n≤10000。
【输出格式】
一行一个正整数,表示 1~n 之间回文数的个数。
【输入样例】
12
【输出样例】
10
#include<bits/stdc++.h>
using namespace std;
bool hw(int x){
int y=0;
for(int i=x;i>0;i=i/10){
y*=10;
y+=i%10;
}
if(x==y) return true;
else return false;
}
int main(){
int n,ans=0;
scanf("%d",&n);
for(int i=1;i<=n;i++) if(hw(i)==1) ans++;
printf("%d",ans);
return 0;
}

1891

被折叠的 条评论
为什么被折叠?



