题解:由于求的是最右边那个非0数,所以只需要关注末尾的数,如果有0就去掉,然后取最后的几位数,在乘下一个数,继续判末尾是否有0去掉,然后取最后几个数,一直循环到结束。输出最后一个数。
#include<bits/stdc++.h>
using namespace std;
int main()
{
int n,sum=1,ans;
cin>>n;
for(int i=2; i<=n; i++)
{
sum*=i;
while(sum%10==0)
{
sum/=10;
}
sum%=10000;
ans=sum%10;
}
cout<<ans<<endl;
return 0;
}