一道淘汰85%面試者的百度開發(fā)者面試題
來(lái)源:程序員人生 發(fā)布時(shí)間:2014-10-12 17:17:31 閱讀次數(shù):2922次
今天看到好幾個(gè)網(wǎng)友發(fā)了一道百度面試題,好奇看了下。對(duì)于ACMer來(lái)說(shuō)應(yīng)該算是水題一道吧,也許出于我對(duì)算法的敬畏,呵呵
依序遍歷0到100閉區(qū)間內(nèi)所有的正整數(shù),如果該數(shù)字能被3整除,則輸出該數(shù)字及‘*’標(biāo)記;如果該數(shù)字能被5整除,則輸出該數(shù)字及‘#’標(biāo)記;如果該數(shù)字既能被3整除又能被5整除,則輸出該數(shù)字及‘*#’標(biāo)記。
于此,個(gè)人提點(diǎn)拙劣的想法
第一思路是:
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<<"#";
}
}
后來(lá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<<"*#";
}
}
生活不易,碼農(nóng)辛苦
如果您覺得本網(wǎng)站對(duì)您的學(xué)習(xí)有所幫助,可以手機(jī)掃描二維碼進(jìn)行捐贈(zèng)