HDOJ1013大数处理

来源:互联网 发布:windows 网络重置 编辑:程序博客网 时间:2024/05/19 20:40

:digital root 问题,属于简单题,但是还是被坑了

:题目说给的是一个正整数,就天真的用int型来接收了,还得借助字符串啊

:java代码:

import java.util.Scanner;public class problem1013 {    public static void main(String[] args) {        // TODO Auto-generated method stub        Scanner scan=new Scanner(System.in);        String numstr;        while(true){            numstr=scan.next();            int num=0;            for(int i=0;i<numstr.length();i++){                num+=numstr.charAt(i)-'0';            }            if(num==0) break;            int result=num;            while(num>9){                result=caculatedigitssum(num);                num=result;            }            System.out.println(result);        }    }    static int caculatedigitssum(int num){        int digitssum=0;        while(num>0){            digitssum+=num%10;            num/=10;        }               return digitssum;    }}
0 0
原创粉丝点击