50道经典的JAVA编程题(21-25)
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)的更多相关文章
- 50道经典的JAVA编程题 (16-20)
50道经典的JAVA编程题 (16-20),用了快一个下午来做这10道题了,整理博客的时间貌似大于编程的时间啊..哈哈 [程序16]Nine.java 题目:输出9*9口诀. 1.程序分析:分行与列考 ...
- 50道经典的JAVA编程题(汇总)
这是一次不可思议的编程历程.从2013年的最后一天开始做这份题,中间连续好几天的考试,包括java考试(今天考试的JAVA编程题),直到今天完成了.挺有成就感的...废话不多说了,来电实质性的吧. 全 ...
- 50道经典的JAVA编程题(46-50)
50道经典的JAVA编程题(46-50),最后五道题了,这是一个美妙的过程,编程真的能让我忘掉一切投入其中,感觉很棒.今天下午考完微机原理了,大三上学期就这样度过了,这学期算是解放了,可是感觉我还是没 ...
- 50道经典的JAVA编程题(41-45)
50道经典的JAVA编程题(41-45),苦逼的程序猿,晚上睡不着了编程吧~今天坚持做10道题!发现编程能是我快乐...O(∩_∩)O哈哈~能平静我烦乱的心,剩下5道题留到考试完了再做吧!该睡觉了.. ...
- 50道经典的JAVA编程题(36-40)
50道经典的JAVA编程题(36-40),今天晚上心情压抑,不爽,继续做题,管它明天考试,我继续我的java,一个周末都在看微机原理看得的很头疼啊~明天该挂科就挂吧,不在乎了~~~ [程序36] Ar ...
- 50道经典的JAVA编程题(31-35)
50道经典的JAVA编程题(31-35),今天考完了java,在前篇博客里面贴出了题了,见:<今天考试的JAVA编程题>.考完了也轻松了,下个星期一还考微机原理呢,啥都不会,估计今天就做到 ...
- 50道经典的JAVA编程题(26-30)
50道经典的JAVA编程题(26-30),这么晚了,早点睡了要,明早8点考java祝我好运吧!!!晚安~ [程序26]Ex26.java(跳过了,好没意思的题啊)题目:请输入星期几的第一个字母来判断一 ...
- 50道经典的JAVA编程题 (11-15)
50道经典的JAVA编程题 (11-15),新年的第一天,继续啦...\(^o^)/~,这50道题都跨年了啊...哈哈 [程序11] TestTN.java 题目:有1.2.3.4个数字,能组成多少个 ...
- 50道经典的JAVA编程题 (6-10)
50道经典的JAVA编程题 (6-10),今晚做了10道了,累死了...感觉难度不是很大,就是不知道是不是最好的实现方法啊!希望大神们能给指点哈... [程序6]GCDAndLCM.java 题目:输 ...
随机推荐
- 为什么样本方差(sample variance)的分母是 n-1?
为什么样本方差(sample variance)的分母是 n-1? (補充一句哦,題主問的方差 estimator 通常用 moments 方法估計.如果用的是 ML 方法,請不要多想不是你們想的那樣 ...
- PAT-乙级-1016. 部分A+B (15)
1016. 部分A+B (15) 时间限制 100 ms 内存限制 65536 kB 代码长度限制 8000 B 判题程序 Standard 作者 CHEN, Yue 正整数A的“DA(为1位整数)部 ...
- 关于PHP写APP接口的安全问题探讨(一)
在探讨这个问题之前,先要确认一点的是,作为一名互联网Coder,无论你是前端或者后端你都要对http请求要有一定的了解,知道http特性,要清楚的了解http里面的Request与Response是什 ...
- size_t和ssize_t
Ssize_t 与size_t 跟踪linux源码得到以下宏: #ifndef _SIZE_T #define _SIZE_T typedef __kernel_size_t size ...
- xml--通过jdom解析及生产XML
JDOM是一种使用 XML 的独特 Java 工具包,用于快速开发 XML 应用程序.它的设计包含 Java 语言的语法乃至语义. JAXP (用于 XML 语法分析的 Java API)包含了三个软 ...
- POJ3608(旋转卡壳--求两凸包的最近点对距离)
题目:Bridge Across Islands 分析:以下内容来自:http://blog.csdn.net/acmaker/article/details/3178696 考虑如下的算法, 算法的 ...
- Android-xUtils框架介绍(四)
今天介绍xUtils的最后一个模块——HttpUtils,拖了那么久,终于要结束了.另外,码字不易,如果大家有什么疑问和见解,欢迎大家留言讨论.HttpUtils是解决日常工作过程中繁杂的上传下载文件 ...
- chinacloud大数据新闻
2015年大数据发展八大趋势 (0 篇回复) “数据很丰满,信息很骨感”:Sight Machine想用大数据的方法,打碎两者间的屏障 (0 篇回复) 百度携大数据"圈地" ...
- 5个难以置信的VS 2015预览版新特性
Visual Studio 2015 Preview包含了很多强大的新特性,无论你是从事WEB应用程序开发,还是桌面应用程序开发,甚至是移动应用开发,VS 2015都将大大提高你的开发效率.有几个特性 ...
- 陈正冲老师讲c语言void关键字
1. void a void的字面意思是“空类型”,void *则为“空类型指针”,void *可以指向任何类型的数据. void几乎只有“注释”和限制程序的作用,因为从来没有人会定义一个void变量 ...