当前位置: 代码迷 >> 综合 >> HDOJ 1163 Eddy's digital Roots
  详细解决方案

HDOJ 1163 Eddy's digital Roots

热度:19   发布时间:2023-10-21 19:44:27.0

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();}
}
  相关解决方案