2012-04-22 74 views
0

使用一個循環可以寫出帕斯卡的三角形嗎?我已經寫了它使用多個循環,它工作正常。一個循環中的帕斯卡三角形

+2

是的,這當然有可能。 – 2012-04-22 14:00:32

+0

請幫忙。 – mohammedsuhail 2012-04-22 14:01:09

+4

我已經回答了您的具體問題。如果你需要更多的幫助,你就知道這裏的演習 - 你先!讓我們*至少*看看你的嘗試或另一個*特定*問題。 – 2012-04-22 14:01:25

回答

1

哎呀,我會讓我的評論答案:

作爲一個提示,我會創建一個作爲輸入要生成三角形的行數,然後在的開頭方法方法計算將轉換爲的項目總數,然後讓您的for循環遍歷所有項目。在循環內部,您可以輕鬆計算出您所在的行和您所在的列,然後使用此信息創建項目值。

0

你想要的代碼是Here

package net.yogesh.test; 

import java.util.ArrayList; 
import java.util.List; 

public class pascal3 { 

    public static void main(String[] args) { 

     int noOfRows = 10; 
     int counter = 1; 
     List<Integer> list = new ArrayList<Integer>(); 
     list.add(1); 

     list = itMe(list, counter,noOfRows); 
    } 

    public static List<Integer> itMe(List<Integer> list, int counter,int noOfRows) { 
     System.out.println(list); 

     List<Integer> tempList = new ArrayList<Integer>(); 

     tempList.add(1); 
     for (int i = 1; i < list.size(); i++) { 
      tempList.add(list.get(i) + list.get(i-1)); 
     } 
     tempList.add(1); 

     if(counter != noOfRows) 
      itMe(tempList, ++counter,noOfRows); 

     return tempList; 
    } 
} 

注意

這裏是否如預期

輸出,但如果你在格式化視圖想超過你需要使用額外的循環。

輸出

[1] 
[1, 1] 
[1, 2, 1] 
[1, 3, 3, 1] 
[1, 4, 6, 4, 1] 
[1, 5, 10, 10, 5, 1] 
[1, 6, 15, 20, 15, 6, 1] 
[1, 7, 21, 35, 35, 21, 7, 1] 
[1, 8, 28, 56, 70, 56, 28, 8, 1] 
[1, 9, 36, 84, 126, 126, 84, 36, 9, 1]