读书人

口试编程题目

发布时间: 2012-06-26 10:04:13 作者: rapoo

面试编程题目

题目:求1+2++n,
要求不能使用乘除法、for、while、switch、case等关键字以及条件判断语句(A?B:C)。

?

看题目只能用递归解决这个问题。代码如下:

/** * 迭代计算 * @author feng * */public class Recursion {/** * 计算 n+(n-1)+(n-2)+...+1 * @param n * @return */public static int accumulation(int n){if(n==1){return 1;}else {return accumulation(n-1)+n;}}/** * 计算 n*(n-1)*(n-2)*...*1 * @param n * @return */public static long accmulationMultiplication(int n){if(n==1){return 1;}else {return accmulationMultiplication(n-1)*n;}}public static void main(String[] args) {System.out.println(Recursion.accumulation(1000));System.out.println(Recursion.accmulationMultiplication(20));}}
?

读书人网 >编程

热点推荐