先想想虛擬碼怎麼寫或流程圖怎麼畫 再轉化成程式碼
就可以解出
網址:
https://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&problem=2307
------------------------------------------------------------
#include <stdio.h>
int Summing_digits(int);
int main()
{
int num;
while(scanf("%d", &num) == 1 && num)
{
do
num = Summing_digits(num);
while(num / 10);
printf("%d\n", num);
}
return 0;
}
int Summing_digits(int num)
{
int sum;
for(sum = 0; num; num /= 10)
sum += num % 10;
return sum;
}
-2015-05-22---------------------------------------------------------
import java.util.*;
public class main {
public static void main(String[] args) {
try {
final Scanner in = new Scanner(System.in);
while (in.hasNextInt()) {
int num = in.nextInt();
if (0 == num) {
break;
}
while ((num = doSummingDigits(num)) >= 10) {
}
System.out.println("" + num);
}
in.close();
} catch (Exception e) {
e.printStackTrace();
}
}
private static int doSummingDigits(int val) {
int result = 0;
while (val > 0) {
result += val % 10;
val /= 10;
}
return result;
}
}