νμ΅ν μ¬κ· ν¨μ λ΄μ©μ νμ©νμ¬ μ λ ₯λ μ μμ λͺ¨λ μλ¦Ώμλ₯Ό λ§μ ν κ°μ λ°ννλ ν¨μλ₯Ό μμ±ν΄ λ΄ μλ€.
Test cases)
'1234' → (1 + 2 + 3 + 4) = 10
'99999' → (9 + 9 + 9 + 9 + 9) = 45
'1000000000' → (1 + 0 + 0 + ... + 0) = 1
μ½λ
#include <iostream>
using namespace std;
int sum_of_digits(int);
int main() {
cout << sum_of_digits(1234) << endl;
cout << sum_of_digits(99999) << endl;
cout << sum_of_digits(100000000000) << endl;
return 0;
}
int sum_of_digits(int n){
if (n < 10)
return n;
return sum_of_digits(n / 10) + sum_of_digits(n % 10)
}
μ΄ νλ‘κ·Έλ¨μμ μ΄ν΄ν λΆλΆμ μ¬κ·ν¨μ sum_of_digitsμ return λΆλΆλ€ λΏ μ λλ€.
n < 10μΈ κ²½μ°, nμ΄ νμλ¦Ώμ μμ°μμ΄κΈ° λλ¬Έμ κ·Έλλ‘ λ°ννλ©΄ λ©λλ€. (base case)
n > 10μΈ κ²½μ°, 1μ μ리 μ«μλ (n % 10)μΌλ‘ ꡬν μ μμ΅λλ€.
1μ μ리 μ«μλ₯Ό μ μΈν λλ¨Έμ§ μλ₯Ό λ€μ κ³μ°νκΈ° μν΄ (n / 10)μ λ€μ ν¨μμ μ μ©ν©λλ€.
μ΄ λ°©μμ΄ λ°λ³΅λμ΄ μνλ κ²°κ³Όλ₯Ό λνλ λλ€.
'C++ > νλ‘μ νΈ (Project)' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
[C++] (Program) ν¨μ μμ© νλ‘κ·Έλ¨ (0) | 2023.12.18 |
---|---|
[C++] (Program) Word Pyramid/ λ¬Έμμ΄ νΌλΌλ―Έλ (2) | 2023.12.15 |
[C++] (Program) String μμ© μνΈν νλ‘κ·Έλ¨ (string::npos) (1) | 2023.12.15 |
[C++] (Program) λ°λ³΅λ¬Έ μμ© νλ‘κ·Έλ¨ (1) | 2023.12.13 |