题目描述
一个整数如果按从低位到高位的顺序,奇数位(个位、百位、万位 ⋯ )上的数字是奇数,偶数位(十位、千位、十万位 ⋯ )上的数字是偶数,我们就称之为 “好数”。
给定一个正整数 N
,请计算从 1
到 N
一共有多少个好数。
算法
(模拟)
C代码
#include<stdio.h>
#include <stdbool.h>
bool isgoodnumer(int number){
int position = 1;
while(number>0){
int digit = number%10;
if((position%2==0&&digit%2!=0)||(position%2!=0&&digit%2==0))
return false;
number/=10;
position++;
}
return true;
}
int main(){
int N;
scanf("%d",&N);
int count = 0;
for(int i = 1;i <= N;i++){
if(isgoodnumer(i))
count++;
}
printf("%d",count);
return 0;
}