java面试每日一题11

题目:求1+2!+3!+...+20!的和

public class Recursion {
    public static void main(String args[]) throws NumberFormatException, IOException{
        System.out.println("请输入一个数");
            BufferedReader br=new BufferedReader(new InputStreamReader(System.in));
            int num1=Integer.parseInt(br.readLine());
            int value=getRecursion(num1);
            System.out.println(num1+"的阶乘是"+value);
            int result1=getAdd(num1);
            System.out.println("结果是"+result1);
    }

    public static int getRecursion(int num){
        if(num==1){
            return 1;
        }
        else{
            return num*getRecursion((num-1));
        }
    }
    public static int getAdd(int res){
        int result=0;
        for(int i=1;i<=res;i++){
            result+=getRecursion(i);
        }
        return result;
    }
}
时间: 2024-08-22 12:44:59

java面试每日一题11的相关文章

java 面试每日一题3

题目:求s=a+aa+aaa+aaaa+aa...a的值,其中a是一个数字.例如2+22+222+2222+22222(此时共有5个数相加),几个数相加有键盘控制. import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.Scanner; public class testThree { public static void main

java 面试每日一题2

题目:输入一行字符,分别统计出其中英文字母.空格.数字和其它字符的个数. 注:如果想单独输出中文的个数和中文符号的个数,只需把isChinese()中的if语句修改 知识补充: java不像C中拥有scanf这样功能强大的函数,大多是通过定义输入输出流对象.常用的类有BufferedReader,Scanner. 1.利用 Scanner 实现从键盘读入integer或float 型数据 Scanner看作是System.in对象的支持者,System.in取得用户输入的内容后,交给Scanne

java 面试每日一题

题目:一球从100米高度自由落下,每次落地后反跳回原高度的一半:再落下,求它在 第10次落地时,共经过多少米?第10次反弹多高? import java.util.Scanner; public class testOne { /** * @param args */ private double totalHeight=100; private double curHeight=50; //下落 public void drop(int times){ if((times-1)==0){ re

java面试每日一题8

题目:打印出所有的"水仙花数",所谓"水仙花数"是指一个三位数,其各位数字立方和等于该数本身.例如:153是一个"水仙花数",因为153=1的三次方+5的三次方+3的三次方. 1.程序分析:利用for循环控制100-999个数,每个数分解出个位,十位,百位. import java.util.Scanner; public class Shuixianhua { public static void main(String[] args){ //

java 面试每日一题6

题目:古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少? 1.程序分析: 兔子的规律为数列1,1,2,3,5,8,13,21.... import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; public class test6 { public static void main

java 面试每日一题4

题目:有1.2.3.4个数字,能组成多少个互不相同且无重复数字的三位数?都是多少?  1.程序分析:可填在百位.十位.个位的数字都是1.2.3.4.组成所有的排列后再去 掉不满足条件的排列. public class TestFour { public static void main(String[] args){ int[] array={1,2,3,4}; int i,j,k,num = 0; for(i=0;i<4;i++){ for(j=0;j<4;j++){ if(i==j){ c

CISP/CISA 每日一题 11

CISA 每日一题(答) 一个合理建造的数据仓库应当支持下列三种基本的查询格式: 1.向上溯源和向下溯源--向上溯源是对数据进行总计:向下溯源是将数据进行细化: 2.交叉溯源--通过通用属性访问数据仓库中内容有交叉的信息 3.历史分析--数据仓库应当储存具有时间变量的数据,支持数据历史分析   IT 服务包括: 信息系统运行.IT 服务和信息系统管理,以及负责支持的群体 CISSP每日一题 以下哪项技术描述了在单个计算机系统中使用多个处理器来增加计算机应用环境中的计算性能? A. 流水线 B.

JAVA面试/笔试经典题

1.short s1 = 1; s1 = s1 + 1;有什么错? short s1 = 1; s1 += 1;有什么错? 对于short s1 = 1; s1 = s1 + 1; 由于s1+1运算时会自动提升表达式的类型,所以结果是int型,再赋值给short类型s1时,编译器将报告需要强制转换类型的错误.对于short s1 = 1; s1 += 1;由于 += 是java语言规定的运算符,java编译器会对它进行特殊处理,因此可以正确编译. 2.是否可以从一个static方法内部发出对非s

java面试 - 经典算法题

题目一: public class testClockwiseOutput { //顺时针打印一个矩阵 @Test public void test(){ int[][] num = new int[100][100]; int n = 4; int count =1; for(int i=0;i<n;i++){ for(int j =0;j<n;j++){ num[i][j]=count++; } } output(num,0,n-1); } public void output(int[]