1. 程式人生 > >pat乙級1084 外觀數列(c語言實現)

pat乙級1084 外觀數列(c語言實現)

#include<stdio.h>
#include<string.h>
#define MAXN 100005
char s[MAXN],t[MAXN];
char *ps,*pt;
main()
{
    char now;//µ±Ç°¼ÆÊý
int num,n;
scanf("%c %d",&now,&n);
memset(s,0,sizeof(s));
memset(t,0,sizeof(t));
s[0]=now;
ps=s;
pt=t;
for(int i=1;i<n;i++)
{
now=*ps;
num=1;
while(*(++ps)){
if(*ps==now)num++;
else {
*pt++=now;
*pt++='0'+num;
num=1;
now=*ps;//next
}
}
*pt++=now;
*pt++='0'+num;
if(i&1){
ps=t;
pt=s;
}else{
ps=s;
pt=t;
}
}
printf("%s",ps);

//在@雷神在此 大神處學到 http://blog.csdn.net/u014772246/article/details/52054346