判断一个数是否为“神奇的二位数”的充要条件是:它在区间 [10,99] 内,且能被 2 整除。 相关算法:枚举判断 + 条件计数(常量规模的线性扫描)。 实现方法:
is_magic(x)
:当且仅当 10 ≤ x ≤ 99
且 x % 2 == 0
时为真。# 判断是否为神奇的二位数
def is_magic(x):
return 10 <= x <= 99 and x % 2 == 0
def main():
a1, a2, a3 = map(int, input().split())
ans = sum(is_magic(x) for x in (a1, a2, a3))
print(ans)
if __name__ == "__main__":
main()
import java.util.*;
// ACM 风格主类
public class Main {
// 功能函数:判断是否为神奇的二位数
public static boolean isMagic(int x) {
// 两位数且为偶数
return x >= 10 && x <= 99 && x % 2 == 0;
}
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
// 读取三个整数
int a1 = sc.nextInt();
int a2 = sc.nextInt();
int a3 = sc.nextInt();
sc.close();
int ans = 0;
// 分别判断并计数
if (isMagic(a1)) ans++;
if (isMagic(a2)) ans++;
if (isMagic(a3)) ans++;
System.out.println(ans);
}
}
#include <iostream>
using namespace std;
// 功能函数:判断是否为神奇的二位数
bool is_magic(int x) {
// 两位数且为偶数
return x >= 10 && x <= 99 && x % 2 == 0;
}
int main() {
ios::sync_with_stdio(false);
cin.tie(nullptr);
int a1, a2, a3;
// 读取三个整数
if (!(cin >> a1 >> a2 >> a3)) return 0;
int ans = 0;
// 分别判断并计数
if (is_magic(a1)) ans++;
if (is_magic(a2)) ans++;
if (is_magic(a3)) ans++;
cout << ans << "\n";
return 0;
}
我们称一个整数是“神奇的二位数”,当且仅当它满足两点:它是一个两位数,并且它是偶数。两位数指 10 到 99 之间的整数(包含边界)。偶数指能被 2 整除的整数。
现在给你三个正整数,请你数一数其中有多少个“神奇的二位数”。
输入 3 个整数 a1,a2,a3(1≦ai≦200) ,表示数组中的元素。
输出一个整数,表示这三个数中有几个神奇的二位数。
输入
8 10 11
输出
1
说明
其中 10 同时满足“两位数且为偶数”,其余两个不满足( 8 不是两位数;11 虽是两位数但不是偶数)。因此答案为 1 。