一道淘汰85%面試者的百度開發者面試題
來源:程序員人生 發布時間:2014-10-12 17:17:31 閱讀次數:2920次
今天看到好幾個網友發了一道百度面試題,好奇看了下。對于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<<"*#";
}
}
生活不易,碼農辛苦
如果您覺得本網站對您的學習有所幫助,可以手機掃描二維碼進行捐贈