zoukankan      html  css  js  c++  java
  • JAVA经典算法40题(12)

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

    Java代码 复制代码 收藏代码
    1. public class Ex23 {
    2. static int getAge(int n){
    3. if (n==1){
    4. return 10;
    5. }
    6. return 2 + getAge(n-1);
    7. }
    8. public static void main(String[] args) {
    9. System.out.println("第五个的年龄为:"+getAge(5));
    10. }
    11. }

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

    Java代码 复制代码 收藏代码
    1. import java.util.Scanner;
    2. public class Ex24 {
    3. public static void main(String[] args) {
    4. Ex24 tn = new Ex24();
    5. Scanner s = new Scanner(System.in);
    6. long a = s.nextLong();
    7. if(a < 0 || a > 100000) {
    8. System.out.println("Error Input, please run this program Again");
    9. System.exit(0);
    10. }
    11. if(a >=0 && a <=9) {
    12. System.out.println( a + "是一位数");
    13. System.out.println("按逆序输出是" + '\n' + a);
    14. } else if(a >= 10 && a <= 99) {
    15. System.out.println(a + "是二位数");
    16. System.out.println("按逆序输出是" );
    17. tn.converse(a);
    18. } else if(a >= 100 && a <= 999) {
    19. System.out.println(a + "是三位数");
    20. System.out.println("按逆序输出是" );
    21. tn.converse(a);
    22. } else if(a >= 1000 && a <= 9999) {
    23. System.out.println(a + "是四位数");
    24. System.out.println("按逆序输出是" );
    25. tn.converse(a);
    26. } else if(a >= 10000 && a <= 99999) {
    27. System.out.println(a + "是五位数");
    28. System.out.println("按逆序输出是" );
    29. tn.converse(a);
    30. }
    31. }
    32. public void converse(long l) {
    33. String s = Long.toString(l);
    34. char[] ch = s.toCharArray();
    35. for(int i=ch.length-1; i>=0; i--) {
    36. System.out.print(ch[i]);
    37. }
    38. }
    39. }  
  • 相关阅读:
    python 基础2.5 循环中continue与breake用法
    python 基础 2.4 while 循环
    python 基础 2.3 for 循环
    python 基础 2.2 if流程控制(二)
    python 基础 2.1 if 流程控制(一)
    python 基础 1.6 python 帮助信息及数据类型间相互转换
    python 基础 1.5 python数据类型(四)--字典常用方法示例
    Tornado Web 框架
    LinkCode 第k个排列
    LeetCode 46. Permutations
  • 原文地址:https://www.cnblogs.com/bjanzhuo/p/3575930.html
Copyright © 2011-2022 走看看