static void Print_Triangle(int n)
{
for(int i=1, j=1 ; i <= 2*n-1 ; i++)
{
if( n-j < i && i <= n-1+j )
Console.Write("*");
else
Console.Write(" ");
if( i == 2*n-1 && (i+1)/2 > j )
{
i=0;
j++;
Console.WriteLine();
}
}
}
用盡了我全部家當的分~


uj5u.com熱心網友回復:
你是想問這個程式的時間復雜度吧?uj5u.com熱心網友回復:
O(N)
uj5u.com熱心網友回復:
對,感覺是n但是又覺得是n2uj5u.com熱心網友回復:
我是覺得,雖然只是一層回圈,但是把這個回圈重復用了~uj5u.com熱心網友回復:
顯然是O(n*n)uj5u.com熱心網友回復:
Print_Triangle列印三角形
三角形是二維的,對吧
所以是O(N^2)
uj5u.com熱心網友回復:
O(n)吧
uj5u.com熱心網友回復:
仔細看了一下應該是O(n^2)
uj5u.com熱心網友回復:
好像是豎著列印三角形,n*(2*n-1)uj5u.com熱心網友回復:
我知道,很多人一看一個回圈,那就是O(N)但是要注意,一個回圈O(N)的前提是,回圈體內,回圈變數不能被修改
看到回圈體內有
i=0;
就要注意了
uj5u.com熱心網友回復:
我也是咋一看被騙了 后來仔細看了一下才看出來
uj5u.com熱心網友回復:
n*(n-1)這個才對,你們執行一下代碼就知道了uj5u.com熱心網友回復:
暈死。。。坑爹了啊
uj5u.com熱心網友回復:
n*(2*n-1)是這個
uj5u.com熱心網友回復:
我知道,很多人一看一個回圈,那就是O(N)
但是要注意,一個回圈)N的前提是,回圈體內,回圈變數不能被修改
看到回圈體內有
i=0;
就要注意了
我也是咋一看被騙了 后來仔細看了一下才看出來
暈死。。。坑爹了啊
版主也跟我范一樣的錯誤
uj5u.com熱心網友回復:
所以是 n2 ???uj5u.com熱心網友回復:
被自己寫的程式寫迷糊了~

uj5u.com熱心網友回復:
所以是 n2 ???
n*(2*n-1)
uj5u.com熱心網友回復:
對,我只是保留了最高項,寫出來比較簡便~

轉載請註明出處,本文鏈接:https://www.uj5u.com/net/114898.html
標籤:C#
