打赏

CCF系列之数位之和(201512-1)

试题编号: 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):
  
 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 }
View Code

 

运行结果:

 
实现代码2(java):
  
 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 }  
View Code

 

运行结果:

  

posted @ 2016-04-04 14:55  海米傻傻  阅读(676)  评论(0编辑  收藏  举报