From e2dede4afaed810fe4d7becdd4acd001f55b8562 Mon Sep 17 00:00:00 2001 From: Arnab Bir Date: Tue, 23 Jan 2018 22:38:00 +0530 Subject: [PATCH] Create RecursiveDigitSum.cpp --- RecursiveDigitSum.cpp | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) create mode 100644 RecursiveDigitSum.cpp diff --git a/RecursiveDigitSum.cpp b/RecursiveDigitSum.cpp new file mode 100644 index 0000000..429cca3 --- /dev/null +++ b/RecursiveDigitSum.cpp @@ -0,0 +1,30 @@ +#include + +using namespace std; + +int digitSum(string n, int k) { + + if(n.length() == 1 && k == 1){ + return (int) (n[0]-'0'); + } + long sum = 0; + if( k == 1){ + for(int i = 0; i < n.length(); ++i){ + sum += (int) (n[i] - '0'); + } + return digitSum(to_string(sum), 1); + } + else{ + return digitSum(to_string(k * (int)digitSum(n , 1)),1); + } + +} + +int main() { + string n; + int k; + cin >> n >> k; + int result = digitSum(n, k); + cout << result << endl; + return 0; +}