对于给定的正整数N,求它的位数及其各位数字之和。

输入格式:

输入在一行中给出一个不超过109的正整数N。

输出格式:

在一行中输出N的位数及其各位数字之和,中间用一个空格隔开。

输入样例:

1
321

输出样例:

1
3 6

思路

题目输入的正整数很大,可当作字符串处理,当然也作为long类型输入

若作为字符串处理,即输出字符串的长度和每位的累加和(字符转为数字)

代码

1
2
3
4
5
6
7
8
9
10
11
12
13
14
#include <iostream>

using namespace std;

int main() {
string str;
cin >> str;
int ret = 0;
for(int i = 0; i < (int)str.size(); i++) {
ret = ret + (str[i] - '0'); //字符转为数字,注意一定要加括号
}
cout << str.size() << " " << ret << endl;
return 0;
}