​2180. 统计各位数字之和为偶数的整数个数​

难度 简单

给你一个正整数 ​​num​​ ,请你统计并返回 小于或等于 ​​num​​ 且各位数字之和为 偶数 的正整数的数目。

正整数的 各位数字之和 是其所有位上的对应数字相加的结果。

示例 1:

输入:num = 4
输出:2
解释:
只有 2 和 4 满足小于等于 4 且各位数字之和为偶数。

示例 2:

输入:num = 30
输出:14
解释:
只有 14 个整数满足小于等于 30 且各位数字之和为偶数,分别是:
2、4、6、8、11、13、15、17、19、20、22、24、26 和 28 。

提示:

  • ​1 <= num <= 1000​

Solution

代码(Rust)

impl Solution {
pub fn count_even(num: i32) -> i32 {
pub fn count_sum(mut n: i32) -> i32 {
let mut res = 0;
while n > 0 {
res += n % 10;
n /= 10;
}
res
}
let mut res = 0;
for i in 1..(num+1) {
if count_sum(i) %2 == 0 {
res += 1;
}
}
res
}
}

另外:数学方法

[leetcode每日一题]1.6_Rust

[leetcode每日一题]1.6_Rust_02