一道简单的百度笔试题

一、引言

试着做了一下一道百度笔试题,做着还蛮有意思的,贴出来和大家一起分享一下

二、题目

懒一回,就不敲了,直接贴截图了,哈哈。

三、我的解法

首先考虑编程语言,我最熟悉的莫过于java,那就用java来编写吧。

我的思路:输入都是成组的,第一个是n,第二个是m,因此可以用这一点做为数据分割的原则。不多说,看代码:

for(int i=1;i<args.length;i+=2){double n=Double.parseDouble(args[i-1]);double m=Double.parseDouble((args[i]));getResult(n, m);}获取到了n和m,那就可以考虑算法了 。还是不多说,看代码:

public static void getResult(double n,double m){double result=0;while(m–!=0){result+=n;n=Math.sqrt(n);}System.out.printf("%.2f\n",result);}嗯,不错,,就是简简单单的几行代码,包含的知识点可真不少。不得不说,考察的基础知识还是蛮多的。

配置运行参数:

运行结果:

94.733.41121.57

四、完整代码

/** * Project Name:CloudLibrary * File Name:TestDriver.java * Package Name:test * Date:2015年9月16日上午10:04:54 * Copyright (c) 2015, winton_by@126.com All Rights Reserved. * */package test;/** * ClassName: TestDriver date: 2015年9月16日 上午10:04:54 * * @author winton_by@126.com * @version v1.0 */public class TestDriver {public static void main(String args[]) {for (int i = 1; i < args.length; i += 2) {double n = Double.parseDouble(args[i – 1]);double m = Double.parseDouble((args[i]));getResult(n, m);}}public static void getResult(double n, double m) {double result = 0;while (m– != 0) {result += n;n = Math.sqrt(n);}System.out.printf("%.2f\n", result);}}

五、最后说一句

大家都相处解法了吗?想必也有人有更好的解法吧,希望能指教一下,共同进步,一起成长嘛。

版权声明:本文为博主原创文章,未经博主允许不得转载。讨论QQ群:372702757

与一个赏心悦目的人错肩,真真实实的活着,也就够了。

一道简单的百度笔试题

相关文章:

你感兴趣的文章:

标签云: