#include #include

using namespace std;

bool isPerfectEven(int num) { string s = to_string(num); if (num % 2 != 0) { return false; } for (int i = 0; i < s.length(); i++) { if ((i+1) % 2 != 0 || (s[i] - '0') % 2 != 0) { return false; } } return true; }

int main() { int n; cin >> n; int nums[n]; for (int i = 0; i < n; i++) { cin >> nums[i]; } for (int i = 0; i < n; i++) { if (isPerfectEven(nums[i])) { cout << nums[i] << endl; } } return 0; }

算法解析

  1. 判断偶数: 首先,需要判断输入的数是否为偶数。可以使用取模运算符 '%' 来判断。如果 num % 2 == 0,则该数为偶数。

  2. 判断位数: 其次,需要判断该数的位数是否为偶数。可以通过将该数转换成字符串,然后判断字符串的长度是否为偶数来实现。

  3. 判断各位数字: 最后,需要判断该数的各位数字是否均为偶数。可以通过遍历字符串,并判断每个字符是否为偶数来实现。

代码示例

#include <iostream>
#include <string>

using namespace std;

bool isPerfectEven(int num) {
    string s = to_string(num);
    if (num % 2 != 0) {
        return false;
    }
    for (int i = 0; i < s.length(); i++) {
        if ((i+1) % 2 != 0 || (s[i] - '0') % 2 != 0) {
            return false;
        }
    }
    return true;
}

int main() {
    int n;
    cin >> n;
    int nums[n];
    for (int i = 0; i < n; i++) {
        cin >> nums[i];
    }
    for (int i = 0; i < n; i++) {
        if (isPerfectEven(nums[i])) {
            cout << nums[i] << endl;
        }
    }
    return 0;
}

总结

本文介绍了如何用 C++ 语言判断一个数是否为完美偶数,并提供了完整的代码示例。希望本文能够帮助您理解完美偶数的判断逻辑,并能够运用此知识解决相关问题。

C++ 完美偶数判断:算法详解及代码实现

原文地址: https://www.cveoy.top/t/topic/qlaN 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录