平安智慧城市2019校園招聘-演算法工程師筆試題目
阿新 • • 發佈:2018-12-12
1. 請求出 1 + 2! + 3! + 4!+ 5!+ ...... + 20!的和。
輸入:
沒有輸入。
輸出:
前20個數字階乘的和。
輸入樣例:
無輸入。
輸出樣例:
2561327494111820313
已經AC的程式碼:
import java.math.BigInteger; public class Main { public static void main(String[] args) { // TODO Auto-generated method stub System.out.println(sum(20)); } public static BigInteger sum(int n){ BigInteger sum = new BigInteger("0"); if(n <= 1) return BigInteger.ONE; for(int i=1; i<=n; i++){ sum = sum.add(n_fact(i)); } return sum; } public static BigInteger n_fact(int n){ if(n > 0){ return BigInteger.valueOf(n).multiply(n_fact(n-1)); }else{ return BigInteger.ONE; } } }
2. 給你一行字串,其中帶有多個空格,請輸出這個字串最後一個單詞的長度。
輸入:
一行字串,帶有多個空格。
輸出:
一個整數,最後一個單詞的長度。
樣例輸入:
hello world
樣例輸出:
5
已經AC的程式碼:
import java.util.Scanner; public class Main2 { public static void main(String[] args) { // TODO Auto-generated method stub Scanner sc = new Scanner(System.in); String strLin = sc.nextLine(); String[] strArray = strLin.split(" "); if(strArray.length == 0) { System.out.println(0); }else { int len = strArray[strArray.length-1].length(); System.out.println(len); } } }