#8896. 小洛的幸运数字

小洛的幸运数字


小洛的幸运数字

版权信息:


任务总览

任务名称 时间限制 内存限制 分数
过滤幸运数字 1 sec 512 MB 100 points

题目描述

小洛得到了 n 个整数,他认为 ​**个位数是 3**​,或者 3 的倍数的整数 是不好的,应当被排除。

请编写一个程序,​将这些不好的数字排除掉​,计算:

  1. 剩余数字的总和​。
  2. 剩余数字的个数​。

输入格式

  • 第一行 包含一个整数 n,表示数字个数(1 ≤ n ≤ 1000)。
  • 第二行 包含 n 个整数 a_1, a_2, ..., a_n0 ≤ a_i ≤ 10000)。

输出格式

输出 ​两个整数​,用空格隔开:

  1. 符合条件的数字的总和​。
  2. 符合条件的数字的个数​。

样例

输入

5
12 23 35 47 50

输出

132 3

题目分析

我们需要过滤掉以下两种情况:

  1. ​**个位数是 3**​:x % 10 == 3
  2. 3 的倍数​:x % 3 == 0

筛选方法​:

  • 遍历数组,检查每个数是否满足 x % 10 != 3x % 3 != 0
  • 统计符合条件的数字 总和 和 ​数量​。

解法

步骤:

  1. 读取 nn 个整数。
  2. 遍历数组,检查是否满足 ​个位不为 3 且 不是 3 的倍数​。
  3. 统计符合条件的数字 总和 和 ​数量​。

时间复杂度分析

  • 遍历 n 个数,每个数检查 x % 10x % 3,即 ​O(1) 操作​。
  • 总复杂度 ​**O(n)**​,可以在 n ≤ 1000 时高效运行。

总结

  • 边界检查​:
    • 处理 a_i = 0 的情况。
    • 处理所有 a_i 都被排除时的情况(此时输出 0 0)。
  • ​**时间复杂度 O(n)**​,适用于 n ≤ 1000