last.cpp
来自「n!不为0的最后一位」· C++ 代码 · 共 31 行
CPP
31 行
#include <iostream>
using namespace std;
int ff(int a,int cishu){
for(int i=0;i<cishu;i++){
if((a/2)%2==1)
a=a/2+5;
else
a=a/2;
}
return a;
}
void main(){
long a[10]={1,1,2,6,4,2,2,4,2,8},b[10]={6,6,2,6,4,4,4,8,4,6},tt=1,shuru,yushu,cishu;
cin>> shuru;
yushu=shuru%10;
cishu=shuru;
if(shuru>=10){
tt=b[yushu];
}
while(cishu>=10){
cishu/=5;
tt=ff(tt,cishu);
if(cishu>=10){
yushu=cishu%10;
tt=(tt*b[yushu])%10;
}
}
cout << (a[cishu]*tt)%10;
cin >> shuru;
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?