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. 【高斯消元】Poj 1222:EXTENDED LIGHTS OUT

    Description In an extended version of the game Lights Out, is a puzzle with 5 rows of 6 buttons each ...

  2. [转载]ASP.NET MVC 3的分部视图

    1.什么是分部视图,我们应该什么时候应该用? 作为一个对ASP.NET MVC 模型很熟悉的开发者,他们自然想创建一个内容和代码都可以重用的组件,在web 窗体,我们可以创建一个web用户控件或web ...

  3. Windows下的Memcache安装与测试教程

    Windows下的Memcache安装 1.下载memcache for windows. 下载地址:http://splinedancer.com/memcached-win32/,推荐下载bina ...

  4. Kafka 之 async producer (1)

    问题 很多条消息是怎么打包在一起的? 如果消息是发给很多不同的topic的, async producer如何在按batch发送的同时区分topic的 它是如何用key来做partition的? 是如 ...

  5. POJ 3393 Lucky and Good Months by Gregorian Calendar

    http://poj.org/problem?id=3393 题意 : 对于这篇长长的英语阅读,表示无语无语再无语,花了好长时间,终于读完了.题目中规定每周的周六日为假日,其他为工作日,若是一个月的第 ...

  6. POJ1228+凸包

    见代码. /* 凸包(稳定凸包) 题意:给出一些点,这些点要么是凸包的顶点要么是边上的. 证明每条边上都至少有3个点. */ #include<stdio.h> #include<s ...

  7. hdu 3853 LOOPS 概率DP

    简单的概率DP入门题 代码如下: #include<iostream> #include<stdio.h> #include<algorithm> #include ...

  8. c缺陷与陷阱笔记-第七章 可移植性代码

    1.移位运算符 如果被移位的对象长度是n位,那么移位计数必须>=0,并且<n,例如对于1个32位的数,移位运算n<<31和n<<0是OK的,n<<32和 ...

  9. http://www.cnblogs.com/zhwl/p/3642486.html

    http://www.cnblogs.com/zhwl/p/3642486.html http://blog.csdn.net/hpf911/article/details/14165865

  10. Android:控件布局(线性布局)LinearLayout

    LinearLayout是线性布局控件:要么横向排布,要么竖向排布 决定性属性:必须有的! android:orientation:vertical (垂直方向) .horizontal(水平方向) ...