using System;using System.Text;publicclassKata{publicstringPattern(int n){StringBuilder strBuilder =newStringBuilder();for(int i =0; i < n; i++){
strBuilder.Append(i ==0?"":"\n");for(int k = n; k > i; k--)
strBuilder.Append(k.ToString());}return strBuilder.ToString();}}
答案2:
using System;using System.Linq;publicclassKata{publicstringPattern(int n){if(n <=0)returnstring.Empty;returnstring.Join("\n", Enumerable
.Range(1, n).Select(x =>string.Concat(Enumerable
.Range(x, n - x +1).Reverse().Select(y => y.ToString()))));}}
答案3:
using System;using System.Collections;publicclassKata{publicstringPattern(int n){string pattern ="", current ="";for(int i = n; i >0; i--){
current += i;
pattern = i != n ? current +"\n"+ pattern : pattern + current;}return pattern;}}
答案4:
using System;using System.Linq;publicclassKata{publicstringPattern(int n){return String.Join("\n", Enumerable.Range(0, Math.Max(0, n)).Select(i => String.Join("", Enumerable.Range(0, n - i).Select(j => n - j))));}}
using System;publicclassKata{publicstringPattern(int n){var str ="";var midStr ="";for(int now = n; now >0;--now){
midStr += now.ToString();if(now != n)
str = midStr +"\n"+ str;else
str = midStr;}return str;}}
答案7:
using System;publicclassKata{publicstringPattern(int n){string res ="";for(int i = n; i >0; i--){for(int j =0; j < i; j++){
res += n-j;}if(i !=1)
res +="\n";}return res;}}
答案8:
using System;using System.Collections.Generic;using System.Linq;publicclassKata{publicstringPattern(int n){var textList =newList<string>();var text ="";for(int i = n; i >0; i--){
text += i.ToString();
textList.Add(text);}returnstring.Join("\n", textList.OrderByDescending(item => item));}}
答案9:
using System.Collections.Generic;using System.Linq;publicstaticclassExtensions{publicstatic IEnumerable<int> To (thisintfrom,int to){if(from< to){while(from<= to){yieldreturnfrom++;}}else{while(from>= to){yieldreturnfrom--;}}}publicstaticstringAsString<T>(this IEnumerable<T> items,string delimiter =""){returnstring.Join (delimiter, items.Select (item => item.ToString ()));}publicstatic IEnumerable<string> Prefixes (thisstring text){for(int i = text.Length; i >=1; i--)yieldreturn text.Substring (0, i);}}publicclassKata{publicstring Pattern (int n){if(n <=0)returnstring.Empty;return1.To (n).Select (i => n.To (i).AsString ()).AsString ("\n");}}
答案10:
using System.Linq;publicclassKata{publicstringPattern(int n)=> n >0?string.Join("\n",
Enumerable.Range(1, n).Select((i, i1)=>string.Concat(Enumerable.Range(1+ i1, n - i1).Reverse()))):"";}