HDOJ 1163 Eddy's digital Roots

来源:互联网 发布:linux mutex init 编辑:程序博客网 时间:2024/05/24 06:43

HDACM1163

做此题需要知道:九余数
九余数定理:
一个数对九取余,得到的数称之为九余数;
一个数的九余数 等于 它的各个数位上的数之和的九余数!
本题就是用次方法来做,
例如:
4^4 = 256
256%9 = 4
2+5+6 = 13
1+3 = 4
所以只有对n^n%9就可以得出结果,同时需注意余数为0是表示和为9
n^n%9转化成 –> ((n%9*n)%9*n)%9….

import java.util.Scanner;public class Main{    public static void main(String[] args) {        Scanner sc = new Scanner(System.in);        while (sc.hasNext()) {            int n = sc.nextInt();            if (n==0) {                break;            }            int num = 1;            for (int i = 0; i < n; i++) {                num = num*n%9;            }            if (num==0) {                System.out.println(9);                continue;            }            System.out.println(num);        }        sc.close();    }}
原创粉丝点击