숫자의 자리수를 각각 더해서 1의자리가 되면 출력해줍니다.
#include <iostream>
#include <string>
using namespace std;
int main(int argc, char *argv[])
{
string s;
int sum;
while(1) {
sum = 0;
cin >> s;
if(s == "0"){
break;
}
while(1) {
for(int i=0; i<s.length(); ++i) {
sum += s[i] - '0';
}
if(sum < 10) {
break;
}
else {
s = to_string(sum);
sum = 0;
}
}
cout << sum << endl;
}
return 0;
}
'알고리즘' 카테고리의 다른 글
[C++] 백준 4641번 Doubles (0) | 2019.09.23 |
---|---|
[C++] 백준 6321번 IBM 빼기 1 (0) | 2019.09.23 |
[C++] 백준 6679번 싱기한 네자리 숫자 (0) | 2019.09.23 |
[C++] 백준 3460번 이진수 (0) | 2019.09.23 |
[C++] 백준 2845번 파티가 끝나고 난 뒤 (0) | 2019.09.22 |