You are viewing a single comment's thread. Return to all comments →
C Codes:
unsigned long digitSum(char *n, unsigned long len) { unsigned long sum = 0 ; for (unsigned long i=0;i <len ; i++) { sum += n[i] -'0'; } return sum ; } int getDigits(unsigned long long t) { int d = 1; while(t>0) { t /= 10 ; d ++ ; } return d; } int superDigit(char* n, int k) { char * n2 = NULL ; unsigned long long sum = 0; sum = digitSum(n,strlen(n)) * k; int digits = getDigits(sum); printf("digits:%d\n",digits); n2 = malloc(digits+1); snprintf(n2,digits,"%llu",sum); n2[digits] = '\0'; printf("n2:%s\n",n2); do { sum = digitSum(n2,strlen(n2)); digits = getDigits(sum) ; //printf("n:%s, k:%d\n",n,k); snprintf(n2,digits+1,"%llu",sum); n2[digits] ='\0'; printf("sum:%llu digits:%d n:%s\n",sum,digits,n2); } while(sum>=10) ; return sum ; }
`
Seems like cookies are disabled on this browser, please enable them to open this website
Recursive Digit Sum
You are viewing a single comment's thread. Return to all comments →
C Codes:
`