50道经典的JAVA编程题(21-25),明天早上java考试了,还是坚持做题吧。。。这题比老师的题好多了!

【程序21】TestJieCheng.java
题目:求1+2!+3!+...+20!的和
1.程序分析:此程序只是把累加变成了累乘

javapackage test50;

/**
* @author VellBibi
*【程序21】TestJieCheng.java
*题目:求1+2!+3!+...+20!的和
*1.程序分析:此程序只是把累加变成了累乘。
*/
public class TestJieCheng { /**
* 求n的阶乘
* @param n
* @return
*/
public static long jieCheng(int n){
if(n == 1) return 1;
else return jieCheng(n-1)*n;
} public static void main(String[] args) {
long ans = 0;
for(int i=1; i<=20; i++){
ans = ans + jieCheng(i);
}
System.out.println(ans);
}
}

【程序22】
题目:利用递归方法求5!。 TestJieCheng2.java
1.程序分析:递归公式:fn=fn_1*4!

递归函数详见【程序21】

javapublic static long jieCheng(int n){
if(n == 1) return 1;
else return jieCheng(n-1)*n;
}

【程序23】TestAge.java
题目:有5个人坐在一起,问第五个人多少岁?他说比第4个人大2岁。问第4个人岁数,他说比第3个人大2岁。问第三个人,又说比第2人大两岁。问第2个人,说比第一个人大两岁。最后问第一个人,他说是10岁。请问第五个人多大?
1.程序分析:利用递归的方法,递归分为回推和递推两个阶段。要想知道第五个人岁数,需知道第四人的岁数,依次类推,推到第一人(10岁),再往回推。

javapackage test50;

/**
* @author VellBibi
*【程序23】TestAge.java
*题目:有5个人坐在一起,问第五个人多少岁?他说比第4个人大2岁。问第4个人岁数,他说比第3个人大2岁。
*问第三个人,又说比第2人大两岁。问第2个人,说比第一个人大两岁。最后问第一个人,他说是10岁。请问第五个人多大?
*1.程序分析:利用递归的方法,递归分为回推和递推两个阶段。要想知道第五个人岁数,需知道第四人的岁数,依次类推,推到第一人(10岁),再往回推。
*/
public class TestAge { /**
* 获取第n个人的岁数
* @param n
* @return
*/
public static int getAge(int n){
if(n == 1) return 10;
else return getAge(n-1) + 2;
} public static void main(String[] args) {
System.out.println(getAge(5));
}
}

【程序24】TestNumber.java
题目:给一个不多于5位的正整数,要求:一、求它是几位数,二、逆序打印出各位数字。

javapackage test50;

import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
import java.util.Scanner; /**
* @author VellBibi
*【程序24】TestNumber.java
*题目:给一个不多于5位的正整数,要求:一、求它是几位数,二、逆序打印出各位数字。
*/
public class TestNumber { /**
* 分解数字
* @param n
* @return
*/
public static List<Integer> explodeNumber(long n){
List<Integer> l = new ArrayList<Integer>(); long cup = n;
while(cup != 0){
l.add((int) (cup%10));
cup = cup/10;
} return l;
} public static void main(String[] args) {
System.out.println("给一个不多于5位的正整数:");
Scanner s = new Scanner(System.in);
long n = 0;
if(s.hasNext()) n = s.nextInt(); List<Integer> l = explodeNumber(n);
System.out.println("它是"+l.size()+"位数");
Iterator<Integer> it = l.iterator();
while(it.hasNext()){
System.out.print(it.next());
}
}
}

【程序25】 HuiWenShu.java
题目:一个5位数,判断它是不是回文数。即12321是回文数,个位与万位相同,十位与千位相同。

javapackage test50;

import java.util.ArrayList;
import java.util.List;
import java.util.Scanner; /**
* @author VellBibi
*【程序25】 HuiWenShu.java
*题目:一个5位数,判断它是不是回文数。即12321是回文数,个位与万位相同,十位与千位相同。
*/
public class HuiWenShu { /**
* 分解数字
* @param n
* @return
*/
public static List<Integer> explodeNumber(long n){
List<Integer> l = new ArrayList<Integer>(); long cup = n;
while(cup != 0){
l.add((int) (cup%10));
cup = cup/10;
} return l;
} public static void main(String[] args) {
System.out.println("输入一个数:");
Scanner s = new Scanner(System.in);
long n = 0;
if(s.hasNext()) n = s.nextLong(); List<Integer> l = explodeNumber(n);
Integer[] a = (Integer[])l.toArray(new Integer[]{});
for(int i=0; i<=a.length/2; i++) {
if(!a[i].equals(a[a.length-i-1])){
System.out.println("不是回文");
return;
}
}
System.out.println("是回文");
}
}

50道经典的JAVA编程题(21-25)的更多相关文章

  1. 50道经典的JAVA编程题 (16-20)

    50道经典的JAVA编程题 (16-20),用了快一个下午来做这10道题了,整理博客的时间貌似大于编程的时间啊..哈哈 [程序16]Nine.java 题目:输出9*9口诀. 1.程序分析:分行与列考 ...

  2. 50道经典的JAVA编程题(汇总)

    这是一次不可思议的编程历程.从2013年的最后一天开始做这份题,中间连续好几天的考试,包括java考试(今天考试的JAVA编程题),直到今天完成了.挺有成就感的...废话不多说了,来电实质性的吧. 全 ...

  3. 50道经典的JAVA编程题(46-50)

    50道经典的JAVA编程题(46-50),最后五道题了,这是一个美妙的过程,编程真的能让我忘掉一切投入其中,感觉很棒.今天下午考完微机原理了,大三上学期就这样度过了,这学期算是解放了,可是感觉我还是没 ...

  4. 50道经典的JAVA编程题(41-45)

    50道经典的JAVA编程题(41-45),苦逼的程序猿,晚上睡不着了编程吧~今天坚持做10道题!发现编程能是我快乐...O(∩_∩)O哈哈~能平静我烦乱的心,剩下5道题留到考试完了再做吧!该睡觉了.. ...

  5. 50道经典的JAVA编程题(36-40)

    50道经典的JAVA编程题(36-40),今天晚上心情压抑,不爽,继续做题,管它明天考试,我继续我的java,一个周末都在看微机原理看得的很头疼啊~明天该挂科就挂吧,不在乎了~~~ [程序36] Ar ...

  6. 50道经典的JAVA编程题(31-35)

    50道经典的JAVA编程题(31-35),今天考完了java,在前篇博客里面贴出了题了,见:<今天考试的JAVA编程题>.考完了也轻松了,下个星期一还考微机原理呢,啥都不会,估计今天就做到 ...

  7. 50道经典的JAVA编程题(26-30)

    50道经典的JAVA编程题(26-30),这么晚了,早点睡了要,明早8点考java祝我好运吧!!!晚安~ [程序26]Ex26.java(跳过了,好没意思的题啊)题目:请输入星期几的第一个字母来判断一 ...

  8. 50道经典的JAVA编程题 (11-15)

    50道经典的JAVA编程题 (11-15),新年的第一天,继续啦...\(^o^)/~,这50道题都跨年了啊...哈哈 [程序11] TestTN.java 题目:有1.2.3.4个数字,能组成多少个 ...

  9. 50道经典的JAVA编程题 (6-10)

    50道经典的JAVA编程题 (6-10),今晚做了10道了,累死了...感觉难度不是很大,就是不知道是不是最好的实现方法啊!希望大神们能给指点哈... [程序6]GCDAndLCM.java 题目:输 ...

随机推荐

  1. Kafka 之 async producer (2) kafka.producer.async.DefaultEventHandler

    上次留下来的问题 如果消息是发给很多不同的topic的, async producer如何在按batch发送的同时区分topic的 它是如何用key来做partition的? 是如何实现对消息成批量的 ...

  2. windows下游戏服务器端框架Firefly安装说明及demo运行

    原地址:http://blog.csdn.net/wangqiuyun/article/details/11150503 本来公司一个网游服务器端选定了pomelo框架,后来出了个Firefly,为做 ...

  3. [topcoder]BadNeighbors

    http://community.topcoder.com/stat?c=problem_statement&pm=2402&rd=5009 动态规划题.对于圈状的题目有了点感觉. 题 ...

  4. vimrc for mac

    " Configuration file for vim set modelines=0 " CVE-2007-2438 " Normally we use vim-ex ...

  5. Oracle程序包

    程序包由两部分构成:规范(specification)和主体(body). 创建表 create table PEOPLE ( ID NUMBER primary key not null, NAME ...

  6. 退出myeclipse 8.5配置中心

    用myeclipse 8.5没多久,进入软件中心下载插件,找不到退出按钮,唉,木想到就是一图标.

  7. C#中保留2位小数

    public static void Method() { double a = 1.991; a = Math.Round(a); Console.WriteLine("a = {0}&q ...

  8. Java之获取系统属性

    import java.util.Enumeration; import java.util.Properties; public class Example609 { public static v ...

  9. fiddler代理

    对于前段开发人员,fiddler 是一个必不可少的调试神器.下载地址:http://www.telerik.com/download/fiddler. 有同学也许会碰到,chrome 下 fiddle ...

  10. bzoj2757

    非常神的数位dp,我调了几乎一天首先和bzoj3131类似,乘积是可以预处理出来的,注意这里乘积有一个表示的技巧因为这里质因数只有2,3,5,7,所以我们可以表示成2^a*3^b*5^c*7^d,也就 ...