1140 Look-and-say Sequence(20)
阿新 • • 發佈:2018-11-10
//將每個不同的字元存入,初始字元後面的個數為1, //之後下一個時判斷是否去前一個字元相同,相同則個數++; //不同的將新字元存入,並且個數初始為1。 #include <cstdio> #include <cstring> int main() { char str[50][10000] = {}; int D, N; scanf("%d %d",&D,&N); if(N == 1) { printf("%d",D); return 0; } sprintf(str[0],"%d",D); for(int i=1; i<N; i++) { int index = 0; int len = strlen(str[i - 1]); for(int j=0; j<len; j++) { if(str[i - 1][j - 1] != str[i - 1][j] || j == 0) { str[i][index++] = str[i - 1][j]; str[i][index++] = '1'; } else { str[i][--index] = ((str[i][index] - '0') + 1) + '0'; ////int型轉char型 index++; } } if(i == N - 1) printf("%s\n",str[i]); } }
掛最後一個測試點(17'),待解決