加入收藏 | 设为首页 | 会员中心 | 我要投稿 | RSS
您当前的位置:首页 > 公告

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

时间:2024-11-13 13:53:23  来源:http://www.baidu.com/  作者:亲卫队请问

最近在网上看到一道面试题,据说让大部分面试者望而却步(数据仅供参考)。我跃跃欲试,决定分享一个简单算法来解答这个问题。这个题目主要考察应聘者在细节上的把握能力。题目描述如下:

在0到100的闭区间内,依次遍历所有的正整数。如果一个数字能被3整除,就在输出时添加该数字和星号()标记;如果一个数字能被5整除,则在输出时添加该数字和井号()标记;如果一个数字既能被3整除又能被5整除,则在输出时添加该数字和星号()标记。这是一个对细节的考验。那么,让我们看看如何解答这个问题吧。

这个题目考察的内容包括以下几点:

我们需要明确的是正整数。虽然题目从0开始扫描,但请注意,在数学上,我们通常从正整数开始计数。也就是说,应该从数字1开始遍历而非数字0。理解题目中给出的条件也是关键,我们需要优先处理能同时被3和5整除的数字(因为它们更容易被排除),然后考虑能被单一条件整除的数字。最后要注意闭区间的概念。这是有些出题人可能玩弄文字游戏的地方,我们的循环应该是从闭区间的一个端点开始遍历到另一个端点结束,也就是i<=100而非仅仅使用i < 100的条件。接下来是题目的解答代码:

创建一个名为SF的公共类,其中包含主函数main(),以下是该算法的实现:

```java

public class SF {

public static void main(String[] args) {

for (int i = 1; i <= 100; i++) { // 从正整数开始遍历到闭区间终点

if (i % 3 == 0 && i % 5 == 0) { // 能同时被3和5整除的数字处理条件

System.out.print(""); // 输出数字和星号()标记的组合字符串

} else if (i % 3 == 0) { // 能被3整除但不能被5整除的数字处理条件

System.out.print(""); // 输出数字和星号()标记的组合字符串

} else if (i % 5 == 0) { // 能被5整除但不能被3整除的数字处理条件

System.out.print(""); // 输出数字和井号()标记的组合字符串

}

} // 循环结束所有数字遍历过程

} // 主函数结束标记

} // 类定义结束标记

```

来顶一下
返回首页
返回首页
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表
推荐资讯
相关文章
    无相关信息
栏目更新
栏目热门