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 + -
显示快捷键?