经典java编程题_50道经典的JAVA编程题(21-25)

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

【程序21】TestJieCheng.java

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

1.程序分析:此程序只是把累加变成了累乘9310e85a14af99de4811ff4c77f1f911.png

24a924a57ba6b3f2b51fc9edb7ea4186.pngjavapackage 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);

}

}

87cba6c2b3280557af03e7224a801b62.png

【程序22】

题目:利用递归方法求5!。 TestJieCheng2.java

1.程序分析:递归公式:fn=fn_1*4!递归函数详见【程序21】

9310e85a14af99de4811ff4c77f1f911.png

24a924a57ba6b3f2b51fc9edb7ea4186.pngjavapublic static long jieCheng(int n){

if(n == 1) return 1;

else return jieCheng(n-1)*n;

}858409a67d919c45202b65fd060907d9.png

【程序23】TestAge.java

题目:有5个人坐在一起,问第五个人多少岁?他说比第4个人大2岁。问第4个人岁数,他说比第3个人大2岁。问第三个人,又说比第2人大两岁。问第2个人,说比第一个人大两岁。最后问第一个人,他说是10岁。请问第五个人多大?

1.程序分析:利用递归的方法,递归分为回推和递推两个阶段。要想知道第五个人岁数,需知道第四人的岁数,依次类推,推到第一人(10岁),再往回推。9310e85a14af99de4811ff4c77f1f911.png

24a924a57ba6b3f2b51fc9edb7ea4186.pngjavapackage 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));

}

}5ff89b3240cc2064d41f543dedbe32cd.png

【程序24】TestNumber.java

题目:给一个不多于5位的正整数,要求:一、求它是几位数,二、逆序打印出各位数字。9310e85a14af99de4811ff4c77f1f911.png

24a924a57ba6b3f2b51fc9edb7ea4186.pngjavapackage 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 explodeNumber(long n){

List l = new ArrayList();

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 l = explodeNumber(n);

System.out.println("它是"+l.size()+"位数");

Iterator it = l.iterator();

while(it.hasNext()){

System.out.print(it.next());

}

}

}d5807a788db82ab3f469442da2954713.png

【程序25】 HuiWenShu.java

题目:一个5位数,判断它是不是回文数。即12321是回文数,个位与万位相同,十位与千位相同。9310e85a14af99de4811ff4c77f1f911.png

24a924a57ba6b3f2b51fc9edb7ea4186.pngjavapackage 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 explodeNumber(long n){

List l = new ArrayList();

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 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("是回文");

}

}741074d00a8bb3df4d3344e7089c23ce.png909c82cdbf94b0f2ed6f4ef8a57863cf.png

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值