java基础编程题——递归求1000内奇数的和与打印杨辉三角(数组)

感觉这些题目都是蛮简单的,但是又很注重基础。

 

1.求1000内奇数(递归实现):

源代码:

package com.lanqiao.javabase1.chapter4.Task;

public class Task04 {
    public static void main(String[] args) {
        System.out.println(f(1000));
    }
    public static int f(int n) {
        if(n == 0) {
        return 0;
        }else {
            return n - 1 + f(n - 2);
        }
        
    }
}
测试结果:
 

java基础编程题——递归求1000内奇数的和与打印杨辉三角(数组)_第1张图片

 

2.打印杨辉三角:

源代码:

package com.lanqiao.javabase1.chapter4.Task;

import java.util.Scanner;

public class Task05 {
    public static void main(String[] args) {
        int i,j;
        Scanner input = new Scanner(System.in);
        int n = input.nextInt();
        int[][] num = new int[n][n];
        num[0][0] = 1;
        for(i = 1 ; i < n ; i++) {
            num[1][1] = 1;
            num[i][i] = 1;
            for(j = 1 ; j < i ; j++) {
                num[i][j] = num[i-1][j]+num[i-1][j-1];//第i行第j列的数值  = 第i - 1行第j列的数值 + 第i - 行第j - 1列的数值 
            }
        }
        //打印
        for(i = 0 ; i < n ; i++) {
            for(j = 1 ; j <= i ; j++) {
                System.out.print(" "+num[i][j] + " ");
            }
            System.out.println();
        }
    }
}

 

代码执行的结果:

 

java基础编程题——递归求1000内奇数的和与打印杨辉三角(数组)_第2张图片

自我感觉只要多理解那些最底层的东西和多敲,很多以前看起来有点难的编程题也是很简单的。

 

 

你可能感兴趣的:(java基础)