小洛的幸运数字

· · 题解

欢迎报名洛谷网校,期待和大家一起进步!

考点:循环结构。

假设当前的正整数是 a,则:

因此,一个正整数被删去,即 a % 10 == 3 || a % 3 == 0

从而,一个正整数要被保留,需要该表达式的值为真:!(a % 10 == 3 || a % 3 == 0)

使用循环结构(例如 for 语句),读入 n 次正整数 a,根据上述条件进行判断能否把数字保留下来。

参考代码:

#include <iostream>
using namespace std;
int main() {
    int n, cnt = 0, sum = 0;
    cin >> n;
    for (int i = 1; i <= n; i++) {
        int a;
        cin >> a;
        if (!(a % 3 == 0 || a % 10 == 3)) {
            sum += a;
            cnt++;
        }
    }
    cout << sum << " " << cnt << endl;
    return 0;
}