最近羣裏有小夥伴去面試,而後在羣裏發求助信息java
題目以下:面試
從這張表格能夠得出來的規律是:算法
至關於求進行求和操做了。bash
java代碼app
方法一:遍歷求和學習
/**
* 遍歷求n
*
* @param n
* @return
*/
public static int iterableSum(int n) {
int sum = 0;
int count=0;
for (int i = 0; i <n; i++) {
sum = sum + i;
if (sum == 45) {
count=i+1;
break;
}
}
return count;
}
複製代碼
方法二:遞歸求和ui
遞歸,是比較經常使用的算法之一;所謂遞歸,就是本身調用本身,可是遞歸不會無休止的執行,必需要有一個明確出口(遞歸出口),當知足遞歸結束條件時遞歸程序就會中止運行,否則就會出現死循環;spa
/**
* 遞歸求和
* @param n
* @return
*/
public static int recursion(int n) {
int sum = 0;
if (n == 1) {
return 1;
} else {
return n + recursion(n - 1);
}
}複製代碼
方法三:code
等差數列,套用公司求和 N*(N-1)/2 =45複製代碼
打完收工,你們以爲還有更高級的解法,也能夠留言告訴做者,你們相互學習借鑑一下。
orm