杭电1163

来源:互联网 发布:键盘windows键解锁 编辑:程序博客网 时间:2024/06/13 08:29

杭电1163

输入范围0<n<10000,直接算肯定会溢出,所以肯定有更方便的方法。
九余数定理:一个数对九取余,余数成为九余数,各个数位之和等于九余数。
因此计算不会溢出,同时简化运算。


代码如下:

import java.util.*;
public class Main {
public static void main(String args[]){
Scanner sc = new Scanner(System.in);
int n;
while(sc.hasNext()){
n = sc.nextInt();
if(n == 0){
break;
}
int m = 1;
for(int i = 0;i<n;i++){
m = m*n%9;
}
if(m != 0)
System.out.println(m);
else
System.out.println(9);
}
}
}

ps:杭电1013可用同样方法解决。

0 0
原创粉丝点击