转跳点:

1084 外观数列 (20分)

 

外观数列是指具有以下特点的整数序列:

d, d1, d111, d113, d11231, d112213111, ...
 

它从不等于 1 的数字 d 开始,序列的第 n+1 项是对第 n 项的描述。比如第 2 项表示第 1 项有 1 个 d,所以就是 d1;第 2 项是 1 个 d(对应 d1)和 1 个 1(对应 11),所以第 3 项就是 d111。又比如第 4 项是 d113,其描述就是 1 个 d,2 个 1,1 个 3,所以下一项就是 d11231。当然这个定义对 d = 1 也成立。本题要求你推算任意给定数字 d 的外观数列的第 N 项。

输入格式:

输入第一行给出 [0,9] 范围内的一个整数 d、以及一个正整数 N(≤ 40),用空格分隔。

输出格式:

在一行中给出数字 d 的外观数列的第 N 项。

输入样例:

1 8
 

输出样例:

1123123111

这道题的难点在于如何探测数组的边缘,我直接试错,试出来的。

#include <stdio.h>
#include <stdlib.h> int main(void)
{
int d, n;
int count = 0;
char str1[100000] = {0}, str2[100000] = {0};
char *s1 = str1, *s2 = str2, *temp;
char *p1, *p2; scanf("%s %d", str1, &n); for (int i = 1; i < n; ++i)
{
for (p1 = s1, p2 = s2, count = 0; *p1; p1++)
{
count++;
if (*p1 != *(p1 + 1))
{
*p2++ = *p1;
*p2++ = count + '0';
count = 0;
}
}
temp = s1, s1 = s2, s2 = temp;
} puts(s1); return 0;
}

PAT不易,诸君共勉!

最新文章

  1. Akka-remote使用入门
  2. memset
  3. 另一种在WINFORM中使用XNA的方法
  4. Nhibernate的第一个实例
  5. Hadoop入门进阶课程9--Mahout介绍、安装与应用案例
  6. 首先,定义一个Print类,它有一个方法void output(int x),如果x的值是1,在控制台打印出大写的英文字母表;如果x的值是2,在 控制台打印出小写的英文字母表。其次,再定义一个主类——TestClass,在主类 的main方法中创建Print类的对象,使用这个对象调用方法output ()来打印出大 小写英文字母表。
  7. 304. Range Sum Query 2D - Immutable
  8. C#程序中:如何向xml文件中插入节点(数据)
  9. Objective-C类的使用
  10. Centos7网络配置-转载
  11. [LeetCode] Judge Route Circle 判断路线绕圈
  12. H5唤醒app,不完全兼容
  13. python学习笔记5-字典
  14. GitHub 代码上传
  15. hdu 4004 (二分加贪心) 青蛙过河
  16. HDU1029(KB12-B)
  17. mysql主从不同步问题 Error_code: 1197
  18. android开发(39) 使用android系统的账户中心管理账
  19. 《小岛经济学--鱼、美元和经济的故事》Digest
  20. IDLE经常使用快捷键汇总

热门文章

  1. ES5 Object.assign 低版本浏览器内核兼容问题
  2. Linux 允许root用户远程登陆
  3. 八大排序算法C++代码实现
  4. C++ list结构体变量排序
  5. redis 之redis持久化rdb与aof
  6. 操作Easy_UI案例以及模板
  7. isEqual判断相等性
  8. C语言结构体指针(指向结构体的指针)详解
  9. Android:用代码修改一行文字中某几个字的颜色
  10. 【rabbitmq】Queueingconsumer被废止后老代码如何做的解决方案