Skip to content

Commit

Permalink
1837. Sum of Digits in Base K: AC
Browse files Browse the repository at this point in the history
  • Loading branch information
tan-wei committed Jan 9, 2025
1 parent 80b19c1 commit fca2bb3
Show file tree
Hide file tree
Showing 2 changed files with 73 additions and 0 deletions.
1 change: 1 addition & 0 deletions src/solution/mod.rs
Original file line number Diff line number Diff line change
Expand Up @@ -1384,3 +1384,4 @@ mod s1832_check_if_the_sentence_is_pangram;
mod s1833_maximum_ice_cream_bars;
mod s1834_single_threaded_cpu;
mod s1835_find_xor_sum_of_all_pairs_bitwise_and;
mod s1837_sum_of_digits_in_base_k;
72 changes: 72 additions & 0 deletions src/solution/s1837_sum_of_digits_in_base_k.rs
Original file line number Diff line number Diff line change
@@ -0,0 +1,72 @@
/**
* [1837] Sum of Digits in Base K
*
* Given an integer n (in base 10) and a base k, return the sum of the digits of n after converting n from base 10 to base k.
* After converting, each digit should be interpreted as a base 10 number, and the sum should be returned in base 10.
*
* Example 1:
*
* Input: n = 34, k = 6
* Output: 9
* Explanation: 34 (base 10) expressed in base 6 is 54. 5 + 4 = 9.
*
* Example 2:
*
* Input: n = 10, k = 10
* Output: 1
* Explanation: n is already in base 10. 1 + 0 = 1.
*
*
* Constraints:
*
* 1 <= n <= 100
* 2 <= k <= 10
*
*/
pub struct Solution {}

// problem: https://leetcode.com/problems/sum-of-digits-in-base-k/
// discuss: https://leetcode.com/problems/sum-of-digits-in-base-k/discuss/?currentPage=1&orderBy=most_votes&query=

// submission codes start here

impl Solution {
pub fn sum_base(n: i32, k: i32) -> i32 {
let mut n = n;
let mut result = 0;
loop {
result += n % k;
n /= k;
if n < k {
break result + n;
}
}
}
}

// submission codes end

#[cfg(test)]
mod tests {
use super::*;

#[test]
fn test_1837_example_1() {
let n = 34;
let k = 6;

let result = 9;

assert_eq!(Solution::sum_base(n, k), result);
}

#[test]
fn test_1837_example_2() {
let n = 10;
let k = 10;

let result = 1;

assert_eq!(Solution::sum_base(n, k), result);
}
}

0 comments on commit fca2bb3

Please sign in to comment.