标签:阶乘n!最后非零位
public static int get_last_num(int n){
if (n == 0 || n == 1) {
System.out.println(1);
return 1;
}
int tmp = 1;
for (int i = n; i > 0; i--) {
// 去除右边的0
if (i % 10 == 0) {
i = i / 10;
while (i % 10 == 0) {
i = i / 10;
}
}
// 取它的个位数
tmp = tmp * (i % 10);
// 如果相乘后是10的倍数,去除右边的0
if (tmp % 10 == 0) {
tmp = tmp / 10;
}
// 如果相乘后大于10,不是10的倍数,取各位数
if (tmp > 10) {
tmp = tmp % 10;
}
}
return tmp;
}本文出自 “递归的梦想偏执狂” 博客,请务必保留此出处http://rubinzhan.blog.51cto.com/11883911/1862462
标签:阶乘n!最后非零位
原文地址:http://rubinzhan.blog.51cto.com/11883911/1862462