您的位置:首页 > 其它

百度笔试题目

2012-09-17 15:46 225 查看
1)此题10分

对任意输入的正整数N,编写C程序求N!的尾部连续0的个数,并指出计算复杂度。如:18!=6402373705728000,尾部连续0的个数是3。

(不用考虑数值超出计算机整数界限的问题)

答:此题可以转化成寻找能够被5整除和被10整除的数,然后统计该数中末尾0的个数和能被5整除的次数。


#include<iostream>
using namespace std;
int NumofZero(int n)
{
	int i,num=0,j=0,k;
	for(i=5;i<=n;i+=5)
	{
		k=i;
		//如果能被10整除则统计k中末尾有多少个0
		while(k%10==0)
		{
			k=k/10;
			j++;
		}
		//除掉k后面的0后如果还能够被5整除则再加一个0
		while(k%5==0)
		{
			j++;
			k=k/5;
		}
		num+=j;
		j=0;
	}
	return num;
}
int main()
{
	int n;
	while(cin>>n&&n)
	{
		cout<<NumofZero(n)<<endl;
	}	
	return 0;
}


2)此题10分

编写一个C语言函数,要求输入一个url,输出该url是首页、目录页或者其他url

如下形式叫做首页:

militia.info/

www.apcnc.com.cn/
http://www.cyjzs.comwww.greena888.com/

www.800cool.net/
http://hgh-products.my-age.net/

如下形式叫做目录页:

thursdaythree.net/greenhouses--gas-global-green-house-warming/
http://www.mw.net.tw/user/tgk5ar1r/profile/
http://www.szeasy.com/food/yszt/chunjie/

www.fuckingjapanese.com/Reality/

请注意:

a) url有可能带http头也有可能不带

b)动态url(即含有"?"的url)的一律不算目录页,如:

www.buddhismcity.net/utility/mailit.php?l=/activity/details/3135/

www.buddhismcity.net/utility/mailit.php?l=/activity/details/2449/

另:如果你会linux,请用linux下的grep命令实现第2题的功能(附加5分)。

#include<iostream>
#include<string>
using namespace std;
int NumofZero(int n)
{
	int i,num=0,j=0,k;
	for(i=5;i<=n;i+=5)
	{
		k=i;
		//如果能被10整除则统计k中末尾有多少个0
		while(k%10==0)
		{
			k=k/10;
			j++;
		}
		//除掉k后面的0后如果还能够被5整除则再加一个0
		while(k%5==0)
		{
			j++;
			k=k/5;
		}
		num+=j;
		j=0;
	}
	return num;
}
void IsFirstPage(string st)
{
	int length=st.length();
	int i;
	bool flag=0;
	for(i=0;i<length;i++)
	{
		if(st[i]=='/'&&flag==0)
		{
			if(i==length-1)
			{
				cout<<"该URL是首页!"<<endl;
				return ;
			}
			else if(st[i+1]=='/')
			{
				i+=1;
				flag=0;
			}
			else
			{
				flag=1;
			}
		}
		else if(flag)
		{
			if(st[i]=='?')
			{
				cout<<"该URL是其他页面!"<<endl;
				return ;
			}
		}	
	}
	cout<<"该URL是目录页!"<<endl;
}
int main()
{
	string st;
	while(cin>>st&&st)
	{
		IsFirstPage(st);
	}	
	return 0;
}


3)此题40分

如果必须从网页中区分出一部分"重要网页"(例如在10亿中选8亿),比其他网页更值得展现给用户,请提出一种方案。

不会

4)此题40分

假设有10亿网页已经被我们存下来,并提供如下信息:网页全文(即网页的源码)、全文长度、网页正文(即网页中提取的主体文字)、

正文长度,以及其他网页提取物等,现在希望去掉其中的重复网页,请提出可行的方案,计算出每个网页对应的重复度,你可以自己

对网页重复下定义,也可以提出需要哪些更多的网页提取物来实现更好的去重复方案
不会
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: