using System;publicstaticclassKata{publicstaticlongCountZeroes(int n){if(n <=1)return0;returnCountZeroes(n-1)+9*(long)Math.Pow(10, n-2)*(n -1);}}
答案2:
using System;publicstaticclassKata{publicstaticlongCountZeroes(int n){return n<2?0:long.Parse((n-2)+newstring('8',n-2)+"9");}}
答案3:
using System;publicstaticclassKata{publicstaticdecimalCountZeroes(int n){return Math.Round((decimal)((((9*(n -1))-1)* Math.Pow(10, n -1))+1)/9);}}
答案4:
using System;publicstaticclassKata{publicstaticlongCountZeroes(int n){if(n <=0){return0;}elseif(n ==18){return1688888888888888889;}elseif(n ==17){return158888888888888889;}elseif(n ==16){return14888888888888889;}double counter =0;for(double i =2; i <= n; i++){
counter +=9*(i -1)* Math.Pow(10,(double)(i -2));}return(long)counter;}}
答案5:
using System;publicstaticclassKata{publicstaticlongCountZeroes(int n){long result =0;for(int i =1; i < n; i++){long multiplier =(long)Math.Pow(10, i -1);
result += multiplier *9* i;}return result;}}
using System.Linq;publicstaticclassKata{publicstaticlongCountZeroes(int n){if(n <=1)return0;var x = n -2;var zeroes = x.ToString()+string.Concat(Enumerable.Repeat('8', x))+"9";returnlong.Parse(zeroes);}}