关于淘汰85%面试者的百度开发者面试题

来源:互联网 发布:家里的网络突然没网了 编辑:程序博客网 时间:2024/05/16 01:21

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

忘了第一次从哪看见的了,刚才在  王奎MarkSaas博客里看见有人在讨论这个面试题。见到不少好的解题方法,记录下来。
我的解法:

#include <iostream>using namespace std;int main(){for (int i = 0; i <= 100; i++){if ((i % 3 == 0) ^ (i % 5 == 0)){if (i % 3 == 0)cout << i << '*'<<endl;elsecout << i << '#'<<endl;}else if ((i % 3 == 0) && (i % 5 == 0))cout << i << "*#"<<endl;}return 0;}
别人的:
/*@author marksaas@blog www.marksaas.com@time 2014-4-24timu依序遍历0到100闭区间内所有的正整数,如果该数字能被3整除,则输出该数字及‘*’标记;如果该数字能被5整除,则输出该数字及‘#’标记;如果该数字既能被3整除又能被5整除,则输出该数字及‘*#’标记。*/public class Baidu{public static void main(String[] args){for(int i=1;i<100;i++){if(i%3==0&&i%5==0){System.out.println(i+"*#");}elseif(i%3==0){System.out.println(i+"*");}elseif(i%5==0){System.out.println(i+"#");}}}}

/*@author marksaas@blog www.marksaas.com@time 2014-4-24timu依序遍历0到100闭区间内所有的正整数,如果该数字能被3整除,则输出该数字及‘*’标记;如果该数字能被5整除,则输出该数字及‘#’标记;如果该数字既能被3整除又能被5整除,则输出该数字及‘*#’标记。*/public class Baidu{public static void Print(){String result="";for(int i=1;i<=100;i++){if(i%3==0){result=i+"*";if(i%5==0){result+="#";}System.out.println(result);continue;}else if(i%5==0){result=i+"#";System.out.println(result);}}}public static void main(String[] args){Print();}}
表示不明觉厉
//个人主页:http://my.csdn.net/u012999424#include<iostream>#include<string>using namespace std;int main(){int add[7] = {3,2,1,3,1,2,3};char c[6] = {'*','#','*','*','#','*'};string all = "*#";int i = 0;int index = 0;while((i += add[index]) <= 100){if(index != 6){cout << i << c[index] << endl;index++;}else{cout << i << all << endl;index = 0;}}return 0;}

经过优化的代码,
//http://blog.csdn.net/justmeing/article/details/24386071//商向下取整int threeIndex = (int) Math.floor(100/3);int fiveIndex = (int) Math.floor(100/5);int bothIndex = (int) Math.floor(100/15);for(int i=1;i<=threeIndex;i++){if(i%5 != 0)System.out.println(3*i+"*");if(i<=fiveIndex && i%3 != 0)System.out.println(5*i+"#");if(i<=bothIndex)System.out.println(15*i+"*#");}

0 0
原创粉丝点击