题意:给你两个数a,b,求b的阶乘和a的阶乘之比的最后一位数字,即对10求余;注意如果在求余过程中余数为0,后面的余数就都为0,直接跳出,由于数据比较大,用同余定理来做.
#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
vector<string> s;
int main()
{
ll n,m;
while(scanf("%lld%lld",&n,&m)!=EOF)
{
ll ans=1;
if(n==0)
{
for(ll i=2;i<=m;i++)
{
if(ans==0)
break;
ans*=(i%10);
ans%=10;
}
printf("%lld\n",ans);
}
else
{
for(ll i=n+1;i<=m;i++)
{
if(ans==0)
break;
ans*=i%10;
ans%=10;
}
printf("%lld\n",ans);
}
}
return 0;
}