外观数列是指具有以下特点的整数序列:
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
- #define MAXN 100000
-
- int main(int argc, const char *argv[]) {
- int N, i, digit, numEnd = 1, end = 1;
- int number[MAXN] = {0}, describe[MAXN] = {0}, recorder[10] = {0};
- if ( scanf("%d %d", &number[0], &N)==EOF ) printf("error\n");
-
- while ( --N ) {
- digit = number[0];
- for ( i=0, end=0; i
- if ( digit != number[i] ) {
- describe[end++] = digit;
- describe[end++] = recorder[digit];
- recorder[digit] = 0;
- digit = number[i];
- }
- ++recorder[digit];
- }
- describe[end++] = digit;
- describe[end++] = recorder[digit];
- recorder[digit] = 0;
- numEnd = end;
- for ( i=0; i
- }
- for ( i=0; i
printf("%d", number[i]); -
- return 0;
- }
-
相关阅读:
下载文件时的文件名中文乱码问题,文件名丢失
迅为龙芯2K1000核心板国产Linux工业板卡适用于工控电力能源行业方案
12种绝佳买入形态k线图(下)
释放资源 try-catch
如何申请 Azure OpenAI
KingbaseES V8R6备份恢复案例之---同一数据库创建不同stanza备份
全文手敲代码,教你用Java实现扫雷小游戏
华为云云耀云服务器L实例评测|评测使用
华为云云耀云服务器L实例评测|基于华为云云耀云服务器L实例搭建EMQX大规模分布式 MQTT 消息服务器场景体验
学习C++第二十四课--成员函数模板,模板显示实例化与声明笔记
-
原文地址:https://blog.csdn.net/herbertyellow/article/details/125902116