返回题解分享
讨论 / 题解分享/ 帖子详情

好数(编程题) - 题解

#include <bits/stdc++.h>
using namespace std;

bool isValid(int num) {
    string s = to_string(num);
    int len = s.length();
    int k = 0; 

    for (int i = len - 1; i >= 0; i--, ++k) 
    {
        int digit = s[i] - '0';
        if (k % 2 == 0 && digit % 2 == 0) return false; 
        if (k % 2 == 1 && digit % 2 == 1) return false; 
    }
    return true;
}

int main()
{
    int N;
    cin >> N;  
    int count = 0;

    for (int i = 1; i <= N; i++)
    {
        if (isValid(i)) count++;
    }

    cout << count << endl;  
    return 0;
}
0 回复 0 转发 0 喜欢 1 阅读
回复 (0)
默认 最新
暂无回复,快来抢沙发!