码迷,mamicode.com
首页 > 其他好文 > 详细

阿里笔试题——算阶乘的末尾有几个零

时间:2015-07-07 22:40:14      阅读:350      评论:0      收藏:0      [点我收藏+]

标签:

用十进制计算30!(30的阶乘),将结果转换成3进制进行表示的话,该进制下的结果末尾会有____个0。

#include<iostream>
using namespace std;
#define LINT int
LINT count_number(LINT n)
{
	LINT a=n;
	LINT re=0;
	while(1)
	{
		if(a==0)
			break;
		LINT b=a;
		a--;
		while((b!=0)&&(b%3==0))
		{
			re++;
			b=b/3;
		}
	}
	return re;
}
int main()
{
	cout<<count_number(30)<<endl;

}

  

阿里笔试题——算阶乘的末尾有几个零

标签:

原文地址:http://www.cnblogs.com/yanliang12138/p/4628640.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!