国内最全IT社区平台 联系我们 | 收藏本站
华晨云阿里云优惠2
您当前位置:首页 > 互联网 > 一道淘汰85%面试者的百度开发者面试题

一道淘汰85%面试者的百度开发者面试题

来源:程序员人生   发布时间:2014-10-12 17:17:31 阅读次数:2771次

今天看到好几个网友发了一道百度面试题,好奇看了下。对于ACMer来说应该算是水题一道吧,也许出于我对算法的敬畏,呵呵


依序遍历0到100闭区间内所有的正整数,如果该数字能被3整除,则输出该数字及‘*’标记;如果该数字能被5整除,则输出该数字及‘#’标记;如果该数字既能被3整除又能被5整除,则输出该数字及‘*#’标记。

于此,个人提点拙劣的想法

第一思路是:

void myAnswer(){ for(int i=0;i<=100;i++){ if(i%3==0){ if(i%5==0)cout<<i<<"*#"; else cout<<i<<"*"; } else if(i%5==0) cout<<i<<"#"; } }

后来想了一下,感觉很熟悉

int n=100,m3=1,m5=1,p=1; while(p<=100){ if(m3*3<m5*5){ m3++; p=m3*3; cout<<p<<"*"; } else if(m3*3>m5*5){ m5++; p=m5*5; cout<<p<<"#"; } else{ m3++; m5++; p=m3*3; cout<<p<<"*#"; } }


生活不易,码农辛苦
如果您觉得本网站对您的学习有所帮助,可以手机扫描二维码进行捐赠
程序员人生
------分隔线----------------------------
分享到:
------分隔线----------------------------
关闭
程序员人生