n的阶乘尾数有几个0

/*
 n!尾数有几个0 
*/
#include <iostream>
using namespace std;
void find0(int n); 
int find(int i,int n);
int main(void)
{
	int n;
	cin>>n;
	find0(n); 
	return 0;
}
void find0(int n)
{
	int cnt5=0,cnt2=0; 
	//分析
	/*
	每次产生一个0有
	2*5=10;
	10=2*5;
	*/ 
	for(int i=1;i<=n;i++){
	//		cnt2+=find(i,2); 
			cnt5+=find(i,5);
	} 
	//cout<<"尾数有"<< (cnt5>cnt2?cnt2:cnt5)<<"个0"<<endl; 
    cout<<"尾数有"<< cnt5 <<"个0"<<endl; 
}

int find(int i,int n){
	int cnt=0;
	while(!(i%n)){
		cnt++;
		i=i/n;
	}
	return cnt;
}


posted @   机智的程序员小熊  阅读(114)  评论(0编辑  收藏  举报
编辑推荐:
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· C#/.NET/.NET Core技术前沿周刊 | 第 29 期(2025年3.1-3.9)
· 从HTTP原因短语缺失研究HTTP/2和HTTP/3的设计差异
点击右上角即可分享
微信分享提示