題目如圖
解題思路:
如果直接輸出階乘再求最後非零數,階乘過大,會出現溢出的情況,因此在每次求階乘的時候會把數截取掉,然後在縮放
#include <stdio.h>
#include <math.h>
int main(){
int i,n,sum=1;
scanf("%d",&n);
if(n==0)
printf("%d",sum);
else{
for(i=1;i<=n;i++){
sum*=i;
while(sum%10==0){
sum/=10;
}
sum=sum%1000;
}
printf("%d",sum%10);
}
return 0;
}