Java模式。模式的代码

时间:2016-07-23 09:38:48

标签: java

   1
 1 2 1
1 3 3 1

n行

我做的逻辑:

import java.io.*;
class pat {
    public static void main(String[] args) throws IOException {
        BufferedReader in=new BufferedReader(new InputStreamReader(System.in));
        int n,p=0;
        System.out.println("Enter value of n");
        n=Integer .parseInt(in.readLine());

        for(int i=0;i<n;i++) 
        {
            for(int j=0;j<n-i;j++)
            {
                System.out.print(" ");
            }
            for(int k=0;k<=i;k++) 
            {
                System.out.print((int)Math.pow(11,p));
            }
            System.out.println(); 
            p++;
        }
    }
}

1 个答案:

答案 0 :(得分:0)

我知道要求帕斯卡三角形系数。这是一个很好的练习题,我们可以通过递归使用它。

import java.util.Scanner;

public class BinomialPascalTriangle {

   public static int pascal(int i, int j) {
       if (j == 0) {
           return 1;
       } else if (j == i) {
           return 1;
       } else {
           return pascal(i - 1, j - 1) + pascal(i - 1, j);
       }

   }

   public static void print(int n) {
       for (int i = 0; i < n; i++) {
           for (int j = 0; j <= i; j++) {
               System.out.print(pascal(i, j) + " ");
           }
           System.out.println();
       }
   }

   public static void main(String[] args) {
       Scanner scanner = new Scanner(System.in);
       System.out.print("How many rows should the binomial pascal triangle have? ");
       int row = scanner.nextInt();
       print(row);
   }
}

递归适用于此问题,因为二项式扩展使用两个先前计算的值。