最近群里有小伙伴去面试,而后在群里发求助信息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