试题编号: 201512-1
试题名称: 数位之和
时间限制: 1.0s
内存限制: 256.0MB
问题描述:
问题描述
给定一个十进制整数n,输出n的各位数字之和。
输入格式
输入一个整数n。
输出格式
输出一个整数,表示答案。
样例输入
20151220
样例输出
13
样例说明
20151220的各位数字之和为2+0+1+5+1+2+2+0=13。
评测用例规模与约定
所有评测用例满足:0 ≤ n ≤ 1000000000。
解题思路:
实现代码(java):
![](https://i-blog.csdnimg.cn/blog_migrate/8f900a89c6347c561fdf2122f13be562.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/961ddebeb323a10fe0623af514929fc1.gif)
1 package ccf_test2015_12; 2 3 import java.util.Scanner; 4 5 public class PositionSum { 6 7 public static void main(String[] args) { 8 9 Scanner in = new Scanner(System.in); 10 11 while (in.hasNext()) { 12 13 int num = in.nextInt(); 14 15 int sum = getSum(num); 16 17 System.out.println(sum); 18 19 } 20 } 21 public static int getSum(int num) { 22 23 int sum = 0; 24 25 while (num > 0) { 26 27 int temp = num % 10; 28 29 sum += temp; 30 31 num = num / 10; 32 33 } 34 35 return sum; 36 37 } 38 }
运行结果:
实现代码2(java):
![](https://i-blog.csdnimg.cn/blog_migrate/8f900a89c6347c561fdf2122f13be562.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/961ddebeb323a10fe0623af514929fc1.gif)
1 import java.util.Scanner; 2 3 public class Main { 4 public static void main(String[] args) { 5 Scanner sc = new Scanner(System.in); 6 int n; 7 n = sc.nextInt(); 8 int result = 0; 9 String nString=String.valueOf(n); 10 int[] nArray=new int[nString.length()]; 11 for (int i = 0; i < nString.length(); i++) { 12 nArray[i]=nString.charAt(i)-'0'; 13 result=result+nArray[i]; 14 } 15 System.out.println(result); 16 } 17 }
运行结果: