如题,我的代码思路是这样的:
由于一个数前面的几位不影响最后一位,所以我就想挨个从 1 乘到 n,同时只保留新数字的最后一个非 0 位。
例如,n 等于 6 时我的代码预期操作如下:
1→1(×1)→2(×2)→6(×3)→24(×4)→
4(mod10)→20(×5)→2(÷10)→12(×6)
→2(mod10)
但是交上去 29 pts,求调
#include <bits/stdc++.h>
using namespace std;
int main(){
long long n,mul=1;
cin >> n;
for(long long i = 1;i <= n;++i){
mul *= i;
while(mul%10==0){
mul /= 10;
}
mul %= 10;
}
cout << mul;
return 0;
}
验证码 MBTG,差点MBTI(