20250413 finished.

This commit is contained in:
jackfiled 2025-04-13 14:09:22 +08:00
parent 60a946e6d7
commit fa7fa14080
2 changed files with 51 additions and 0 deletions

View File

@ -595,3 +595,5 @@ mod p3375_minimum_operations_to_make_array_values_equal_to_k;
mod p2843_count_symmetric_integers;
mod p3272_find_the_count_of_good_integers;
mod p1922_count_good_numbers;

View File

@ -0,0 +1,49 @@
/**
* [1922] Count Good Numbers
*/
pub struct Solution {}
// submission codes start here
const MOD: i64 = 1_000_000_000 + 7;
impl Solution {
pub fn count_good_numbers(n: i64) -> i32 {
let mut result = Self::quick_power(20, n / 2);
if n % 2 == 1 {
result = result * 5 % MOD;
}
result as i32
}
fn quick_power(mut m: i64, mut n: i64) -> i64 {
let mut result = 1;
while n > 0 {
if n & 1 == 1 {
result = result * m % MOD;
}
m = m * m % MOD;
n = n >> 1;
}
result
}
}
// submission codes end
#[cfg(test)]
mod tests {
use super::*;
#[test]
fn test_1922() {
assert_eq!(5, Solution::count_good_numbers(1));
assert_eq!(400, Solution::count_good_numbers(4));
assert_eq!(564_908_303, Solution::count_good_numbers(50));
}
}