振兴中华

640 (1)

小明参加了学校的趣味运动会,其中的一个项目是: 跳格子

地上画着一些格子,每个格子里有一个字,如下所示

    从我做起振
     我做起振兴
     做起振兴中
     起振兴中华

比赛时,先站在左上角的写着“从”字的格子里

可以横向或纵向跳到相邻的格子里,但不能跳到对角的格子或其它位置

一直要跳到“华”字结束

要求跳过的路线刚好构成“从我做起振兴中华“这句话

请你帮助小明算一算他一共有多少种可能的跳跃路线呢?

代码如下:

  1: static int count;
  2:    public static void main(String[] args) {
  3:       System.out.println(f(5,4));    //代表5行4列
  4:       }
  5:       private static int f(int x , int y) {
  6:          if(x==1 || y == 1) {
  7:             return 1;
  8:          }else {
  9:             return f(x-1,y) + f(x,y-1);
 10:          }
 11:    }

大笑 小练习:

1、1200000有多少个约数?

思路:枚举

  1: public static void main(String[] args) {
  2:    int a = 1200000;
  3:    int num = 0;
  4:    for(int i = 1 ; i <= a;i++) {
  5:       if(a%i == 0) {
  6:          num++;
  7:       }
  8:    }
  9:    System.out.print(num);
 10: }

96

 2、15.125GB是多少MB?

思路:1G = 1024MB

15488

3、一棵含有2019个结点的树,最多包含多少个叶结点?

思路:让2018个子节点都为根节点

2018

若题目改为:

一棵包含有2019个结点的二叉树,最多包含多少个叶结点?

1010

  4、在1至2019中,有多少个数的数位中包含数字9?
注意,有的数中的数位中包含多个9,这个数只算一次。例如,1999这个数包含数字9,在计算只是算一个数

  1: public static void main(String[] args) {
  2:       int sum =0;
  3:    A:   for (int i = 1; i <=2019; i++) {
  4:          int a=i;
  5:          while(a!=0){
  6:             int b = a%10;
  7:             if(b==9){
  8:                sum++;
  9:                continue A;
 10:             }
 11:             a/=10;
 12:          }
 13:       }
 14:       System.out.println(sum);
 15:    }

544

640

原文地址:https://www.cnblogs.com/qimuz/p/12591251.html