求助,会不会是思路错了呀……
查看原帖
求助,会不会是思路错了呀……
932698
DouCoding楼主2024/8/29 17:33
#include <iostream>
#include <cstdio>
using namespace std;
int n,ans=1;
int main()
{
	scanf("%d",&n);
	//设n=10k+r; 
	for (int i=1;i<=n/10;i++) ans=ans*8%10;//10的阶乘是3628800所以乘以末位的8; 
	n%=10;
	//10k的地方已经处理好了,接下来乘剩下的部分; 
	for (int i=1;i<=n;i++) ans*=i;
	printf("%d",ans%10?ans%10:ans/10%10);//ans末位要是0,就/10再取末位; 
	return 0;
}

只有#1#2是AC,剩下全WA

2024/8/29 17:33
加载中...