Description
编程求出n以内的,二进制和十进制正读和反读都一样的整数。
Input
输入一个整数n(n<=30000)
Output
输出满足条件的整数个数。
Sample Input
3
Sample Output
2
我这个垃圾小白做这题用了一周…… 直接上代码 有不懂的伙伴可在下方留言 若能帮到你 可以为我点个赞~
#include<cstdio>
int a[6],b[20];
void fenlishuzi(int n){
int i=0;
while(n>0){
a[++i]=n%10;
n/=10;
}
a[0]=i;
}
void erjinzhi(int n){
int i=0;
while(n>0){
b[++i]=n%2;
n/=2;
}
b[0]=i;
}
int panduan(int c[]){
int i=1,j=c[0];
while(i<j){
if(c[i++]!=c[j--])
return 0;
}
return 1;
}
int main(){
int n,j=1;
scanf("%d",&n);
for(int i=2;i<=n;i++){
fenlishuzi(i);
if(panduan(a)==0)
continue;
else{
erjinzhi(i);
if(panduan(b)==1)
j++;
}
}
printf("%d",j);
return 0;
}