百度笔试题目
2012-09-17 15:46
225 查看
1)此题10分
对任意输入的正整数N,编写C程序求N!的尾部连续0的个数,并指出计算复杂度。如:18!=6402373705728000,尾部连续0的个数是3。
(不用考虑数值超出计算机整数界限的问题)
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分)。
3)此题40分
如果必须从网页中区分出一部分"重要网页"(例如在10亿中选8亿),比其他网页更值得展现给用户,请提出一种方案。
不会
4)此题40分
假设有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亿网页已经被我们存下来,并提供如下信息:网页全文(即网页的源码)、全文长度、网页正文(即网页中提取的主体文字)、
正文长度,以及其他网页提取物等,现在希望去掉其中的重复网页,请提出可行的方案,计算出每个网页对应的重复度,你可以自己
对网页重复下定义,也可以提出需要哪些更多的网页提取物来实现更好的去重复方案
不会
相关文章推荐
- 百度笔试题目
- 关于Web前端开发,附:(百度web前端笔试面试题目)
- 百度笔试题目集合
- 2011百度实习生笔试题目
- 百度笔试题目解析
- 百度2012校园招聘机器学习/数据挖掘工程师(北京)笔试题目
- 百度2014移动研发笔试题目——1013清华版
- 百度笔试题目
- 百度笔试题目剖析——拼写纠错
- 百度笔试题目
- 百度2014移动研发笔试题目——1013清华版
- 百度2014校招笔试题目题解(更新了第1题的算法,10.9下午)
- 百度 PC客户端研发工程师 笔试题目
- (1.4.9.1)百度笔试:2011年校园招聘笔试题 C++类题目
- 百度2014移动研发笔试题目
- 百度笔试题目
- 百度2014校招笔试题目题解(更新了第1题的算法,10.9下午)
- 百度笔试题目
- 2014小米,百度,pptv,去哪儿笔试题目回忆
- 百度笔试题目集合