前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >百度笔试题目

百度笔试题目

作者头像
bear_fish
发布2018-09-14 10:59:40
6590
发布2018-09-14 10:59:40
举报

http://blog.csdn.net/liuzhanchen1987/article/details/7987985

1)此题10分  对任意输入的正整数N,编写C程序求N!的尾部连续0的个数,并指出计算复杂度。如:18!=6402373705728000,尾部连续0的个数是3。  (不用考虑数值超出计算机整数界限的问题) 

[cpp] view plaincopy

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

[cpp] view plaincopy

  1. #include<iostream>
  2. using namespace std;  
  3. int NumofZero(int n)  
  4. {  
  5. int i,num=0,j=0,k;  
  6. for(i=5;i<=n;i+=5)  
  7.     {  
  8.         k=i;  
  9. //如果能被10整除则统计k中末尾有多少个0
  10. while(k%10==0)  
  11.         {  
  12.             k=k/10;  
  13.             j++;  
  14.         }  
  15. //除掉k后面的0后如果还能够被5整除则再加一个0
  16. while(k%5==0)  
  17.         {  
  18.             j++;  
  19.             k=k/5;  
  20.         }  
  21.         num+=j;  
  22.         j=0;  
  23.     }  
  24. return num;  
  25. }  
  26. int main()  
  27. {  
  28. int n;  
  29. while(cin>>n&&n)  
  30.     {  
  31.         cout<<NumofZero(n)<<endl;  
  32.     }     
  33. return 0;  
  34. }  

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分)。 

[cpp] view plaincopy

  1. #include<iostream>
  2. #include<string>
  3. using namespace std;  
  4. int NumofZero(int n)  
  5. {  
  6. int i,num=0,j=0,k;  
  7. for(i=5;i<=n;i+=5)  
  8.     {  
  9.         k=i;  
  10. //如果能被10整除则统计k中末尾有多少个0
  11. while(k%10==0)  
  12.         {  
  13.             k=k/10;  
  14.             j++;  
  15.         }  
  16. //除掉k后面的0后如果还能够被5整除则再加一个0
  17. while(k%5==0)  
  18.         {  
  19.             j++;  
  20.             k=k/5;  
  21.         }  
  22.         num+=j;  
  23.         j=0;  
  24.     }  
  25. return num;  
  26. }  
  27. void IsFirstPage(string st)  
  28. {  
  29. int length=st.length();  
  30. int i;  
  31. bool flag=0;  
  32. for(i=0;i<length;i++)  
  33.     {  
  34. if(st[i]=='/'&&flag==0)  
  35.         {  
  36. if(i==length-1)  
  37.             {  
  38.                 cout<<"该URL是首页!"<<endl;  
  39. return ;  
  40.             }  
  41. else if(st[i+1]=='/')  
  42.             {  
  43.                 i+=1;  
  44.                 flag=0;  
  45.             }  
  46. else
  47.             {  
  48.                 flag=1;  
  49.             }  
  50.         }  
  51. else if(flag)  
  52.         {  
  53. if(st[i]=='?')  
  54.             {  
  55.                 cout<<"该URL是其他页面!"<<endl;  
  56. return ;  
  57.             }  
  58.         }     
  59.     }  
  60.     cout<<"该URL是目录页!"<<endl;  
  61. }  
  62. int main()  
  63. {  
  64.     string st;  
  65. while(cin>>st&&st)  
  66.     {  
  67.         IsFirstPage(st);  
  68.     }     
  69. return 0;  
  70. }  

3)此题40分  如果必须从网页中区分出一部分"重要网页"(例如在10亿中选8亿),比其他网页更值得展现给用户,请提出一种方案。  不会 4)此题40分  假设有10亿网页已经被我们存下来,并提供如下信息:网页全文(即网页的源码)、全文长度、网页正文(即网页中提取的主体文字)、  正文长度,以及其他网页提取物等,现在希望去掉其中的重复网页,请提出可行的方案,计算出每个网页对应的重复度,你可以自己 

对网页重复下定义,也可以提出需要哪些更多的网页提取物来实现更好的去重复方案 

不会

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2014年12月18日,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档