题目描述
编程求出n以内的,二进制和十进制正读和反读都一样的整数。注意:一位数也是回文数。
输入
输入一个整数n(n<=9999999)
输出
输出满足条件的整数个数。
样例输入
3
样例输出
2
#include<iostream>
#include<cstdio>
#include<string>
#include<cmath>
using namespace std;
int ss(int a,int x) {
int k[1000],i=0;
while(a>0) {
i++;
k[i]=a%x;
a/=x;
}
for(int j=1; j<=i; j++) {
if(k[j]!=k[i+1-j]) {
return 0;
}
}
return 1;
}
int main() {
int n,sum=0;
cin>>n;
for(int i=1; i<=n; i++) {
if(ss(i,10))
if(ss(i,2))
sum++;
}
cout<<sum;
return 0;
}