https://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&category=&problem=2307&mosmsg=Submission+received+with+ID+17617814
方法一
import java.util.*;
public class Main {
public static void main(String[] args) {
Scanner scn = new Scanner(System.in);
while(scn.hasNext()){
String str=scn.next();
if(str.equals("0"))break;
int tot=0;
while(true){
String arr[]=str.split("");
if(arr.length==1){
tot=Integer.parseInt(arr[0]);
break;
}
tot=0;
for(int i=0;i<arr.length;i++){
tot+=Integer.parseInt(arr[i]);
}
str=Integer.toString(tot);
}
System.out.println(tot);
}
}
/*
題目:Q11332: Summing Digits
作者:1010
時間:西元 2016 年 7 月 */
}
方法二
import java.util.*;
public class Main {
public static void main(String[] args) {
Scanner scn = new Scanner(System.in);
while (scn.hasNext()) {
int n = scn.nextInt();
if (n == 0)
break;
while (n / 10 != 0) {
n = n % 10 + n / 10;
}
System.out.println(n);
}
}
/*
題目:Q11332: Summing Digits
作者:1010
時間:西元 2016 年 7 月 */
}
困難度 ★
這題是我當初參加CPE的第一題,這題我是利用字串去解當長度為1時跳出迴圈,還要注意當數入個位數時要直接輸出
沒有留言:
張貼留言