一道简单的百度笔试题
生活随笔
收集整理的這篇文章主要介紹了
一道简单的百度笔试题
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
一、引言
? ? ? ? ?試著做了一下一道百度筆試題,做著還蠻有意思的,貼出來和大家一起分享一下
二、題目
? ? ? ? 懶一回,就不敲了,直接貼截圖了,哈哈。
三、我的解法
首先考慮編程語言,我最熟悉的莫過于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.73
3.41
121.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);} }?
?
?
五、最后說一句
?
? ? ? ?大家都相處解法了嗎?想必也有人有更好的解法吧,希望能指教一下,共同進步,一起成長嘛。
?
?
總結
以上是生活随笔為你收集整理的一道简单的百度笔试题的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: ASP.NET MVC Area使用-将
- 下一篇: 蓝桥杯总结及经验教训