#8812. CCF201512-1 数位之和(100分)【进制+文本】

CCF201512-1 数位之和(100分)【进制+文本】

问题描述

给定一个十进制整数n,输出n的各位数字之和。

输入格式

输入一个整数n。

输出格式

输出一个整数,表示答案。

样例输入

20151220

样例输出

13

样例说明

20151220的各位数字之和为2+0+1+5+1+2+2+0=13。

评测用例规模与约定

所有评测用例满足:0 ≤ n ≤ 1000000000。

问题简述:(略)

问题分析:

重写解题博客以及解题程序代码(参见参考链接),解题逻辑更加清晰,解题代码更加简洁,多种语言解法。

解法一:整数处理

按照题意,程序读入整数,根据进制原理,逐位取出其数字加起来就可以了。进制原理说的是,个位是100位,十位是101位,百位是102位,…,这是数学原理。 如果了解atoi()和itoa()是如何实现的,做这个题就太容易了。

解法二:文本处理

原理上来说,计算机程序的输入输出都是文本。直接按照文本来处理,是最直接的计算方法,计算速度更快。需要了字符解编码,进行字符转换数值的计算。

这里也给出解题的Python语言程序和Java语言程序。

程序说明:(略)

参考链接: CCF201512-1 数位之和(100分)

题记:不要忘记了,计算机的输入输出本质上是文本,也就是一串字符。

Limitation

1s, 1024KiB for each test case.