这题是个逻辑性很强的题目,中间那一段代码推了有半小时,头疼,应该有更好的方法,但是我太菜了想不出来。
#include <cstdio>
#include <iostream>
#include <string>
using namespace std;
int main(){
string s[50];
int d, n;
scanf("%d %d", &d, &n);
s[0] = to_string(d);
s[1] = s[0] + "1";
for(int i=2; i<=n; i++){
string str = s[i-1];
string now = "";
char f = str[0];
int k = 1;
int j;
for(j=1; j<str.size(); j++){
if(str[j] != str[j-1]){
now += str[j-1] + to_string(k);
k = 1;
}else{
k++;
}
}
now += str[j-1] + to_string(k);
s[i] = now;
}
cout << s[n-1];
return 0;
}