strlen char[30] str |
/* 19:47 분 시작합니다. 최종적으로 n 이 어떤 값이 되는지 구하는 프로그램을 작성하세요. 예제를 통해서 풀면 되겠습니다. 숫자를 받아서 몇의 자리 수인지 확인하도록 합니다. */ #include <iostream> #include <cstring> #include <algorithm> using namespace std; int ans; char str[20]; int length; int sum; int num; long long divNum; int flag; void problemIn() { //cin >> str; scanf("%s", str); } void numSum() {
if ((num / 10) == 0) { flag = 1; sum = num; return; } for (int i = 0; i <= 18; i++) { divNum = pow(10, i); if ((num / divNum)== 0) { length = i ; break; } } sum = 0; for (int i = length-1; i >= 0; i--) { divNum = pow(10, i); sum += (num/divNum); num = num % divNum; } } void solve() { length = strlen(str); if (length == 1) { num = str[0] - '0'; return; } for (int i = 0; i < length; i++) { num += str[i] - '0'; } while (1) { numSum(); if (flag) return; num = sum; } } int main() { int T; cin >> T; for (int tc = 1; tc <= T; tc++) { problemIn(); solve(); printf("#%d %d\n", tc, num); sum = 0; num = 0; flag = 0; } return 0; } |