题目描述
输入N,求N!末尾的第一个非零数字。如6 ! = 720,因此6的阶乘末尾的非零位是2。
输入描述:
仅一行,包含一个整数N(0<=N<=10,000,000)
输出描述:
仅一行,包含一个整数,表示最右边的非零的值
示例1
输入
6
输出
2
说明
6 ! = 720
思路:由于可能产生进位,因此每次在去掉0之后保留最后两位即可!
#include<stdio.h>
int main(void){
int n,now=1,p=2;
scanf("%d",&n);
while(p<=n){
now*=p;
while(now%10==0)
now/=10;
now%=100;
p++;
}
printf("%d\n",now%10);
return 0;
}