题目
题目描述:
一个整数如果按从低位到高位的顺序,奇数位(个位、百位、万位……)上的数字是奇数,偶数位(十位、千位、十万位……)上的数字是偶数,我们就称之为“好数”。
给定一个正整数 N,请计算从 1 到 N 一共有多少个好数。
输入格式:
一个整数 N。
输出格式:
一个整数代表答案。
数据范围与说明:
样例 1 解释
24 以内的好数有 1,3,5,7,9,21,23,一共 7 个。
数据规模与约定
- 对于 10% 的测试数据,1≤N≤100。
- 对于全部的测试数据,1≤N≤107。
输入输出样例 #1
输入:
输出:
输入输出样例 #2
输入:
输出:
题意
简述:
一个整数如果按从低位到高位的顺序,奇数位(个位、百位、万位……)上的数字是奇数,偶数位(十位、千位、十万位……)上的数字是偶数,我们就称之为“好数”。
给定一个正整数 N,请计算从 1 到 N 一共有多少个好数。
代码
C++
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29
| #include<bits/stdc++.h> using namespace std; bool check(int x){ int j=1; while(x){ int i=x%10; if(j%2==1){ if(i%2==0) return false; }else{ if(i%2==1) return false; } x/=10; j++; } return true; }
int main(){ int n,count=0; cin>>n; for(int i=1;i<=n;i++){ if(check(i)){ count++; } } cout<<count; return 0; }
|