解密QQ号

本文介绍了一道关于解密QQ号的题目,解密规则是按特定顺序删除和移动数字,最后得到一个7位的QQ号。解题方法包括自定义队列和使用STL队列,通过循环操作实现数字串的重新排列,最终得出解密后的QQ号码。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

解密QQ号

一、原题

【 题目描述 】
YSM 在年级里人缘特别好,大家都找他要 QQ 号,数学特别好的它有时也小卖弄一下,他把 QQ 号加密后告诉同学们,所以同学们要得到他的 QQ 号还得先解密。解密规则是这样的:首先将第一个数字删除,再将第二个数字放到这串数的末尾,再将第 3 个数删除并将第 4 个数放到这串数的末尾,再将第5个数删除,…,以此类推,将最后一个数字也删除。按照刚才删除的顺序,把这些删除的数字连在一起,最后的 7 位就是 YSM 的 QQ 号。当然解密后的数字串肯定不止 7 位,不到 100 位。

【 输入 】
一行,包含符合题目描述的一个数字串,表示加密后的 QQ 号码。

【 输出 】
一个七位的数字串,表示 YSM 的 QQ 号。

【 样例输入 】
631758924

【 样例输出 】
5947283

二、分析

这道题一共有两种方法,一个是自定义队列,另外一个是用STL模板中的队列"< queue >"来做。以下是详细解析

方法 (一) : 自定义队列
|| 这道题目就是一道简单的队列问题,我们要先定义两个指针,“front”与“rear”(front前指针,rear后指针,删除第一个就是front++),然后就用while循环一直执行题目中的操作,直到为空,把删除的存在另一个数组里,最后输出数组中的后四个即可。

方法(二):STL模板
|| 这个方法就用到了队列指令了,感兴趣的小伙伴可以去网上自主查询,这是我提供的一个比较好的网站,以及我从网上查到的指令

https://blog.youkuaiyun.com/zichen_ziqi/article/details/80819939

queue<int> q;           //定义队列,<int>指的是队列类型
q.empty()               //如果队列为空返回true,否则返回false
q.size()                // 返回队列中元素的个数
q.pop()                 // 删除队列首元素但不返回其值
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值