#16475: C的


freedom501999@gmail.com (帥氣魔方生)

學校 : 不指定學校
編號 : 88611
來源 : [39.8.203.54]
最後登入時間 :
2019-05-30 22:56:25
b809. 九○七四二的問題 | From: [27.52.77.116] | 發表日期 : 2019-01-04 13:14

1 ~ 9 有 9 個一位數,10 ~ 99 有 90 個二位數,100 ~ 999 有 900 個三位數,1000~ 2016 有 1017 個四位數

全部一共是 9 x 1 + 90 x 2 + 900 x 3 + 1017 x 4 = 6957 位數,對 C 而言在全域宣告一個 char str [6960] 陣列絕對安全

至於放數字,就是一對一,給 str 一個索引 j ,j 從 0 開始,每放一個數字就加一,放完後此數字就是 j 位數

然後用一個雙重迴圈,j 從當前位數遞減, i 從 0 遞增,依題目要求操作,最後 str [0] 就是答案

PS 相信 C,它不會 TLE 的,前題是程式碼有對

while(j>1)
{
      i=0;
      while(i<j-1)
      {
            str[i]+=str[i+1];
            if(str[i]>=10)
                  str[i]-= 9;
            i++;
      }
      j--;
}

 
ZeroJudge Forum