DS题目汇编

一、

二、表2-8洗盘子

代码

cpp 复制代码
#include <stdio.h>
# define MAXSIZE 50005
int pigs[MAXSIZE];
int lucky_pigs[3005];
void find_luck(){
    int n=0;
    for(int i=2;i<MAXSIZE;i++) pigs[n++]=i;
    int cnt=0;
    while(cnt<=3000){
        int head=pigs[0];
        lucky_pigs[cnt++]=head;
        int newn=0;
        int pos=0;
        for(int i=1;i<n;i++){
            pos++;
            //删除位置满足pos % head == 0。
            if(pos%head!=0){
                pigs[newn++]=pigs[i];//把没被删除的元素往前挪 
            }
        }
        n=newn;
    }
}
int main(){
    int t,x;
    find_luck();
    scanf("%d",&t);
    while(t--){
        scanf("%d",&x);
        printf("%d\n",lucky_pigs[x-1]);
    }
    return 0;
}
相关推荐
兩尛2 分钟前
c++知识点2
开发语言·c++
xiaoye-duck26 分钟前
C++ string 底层原理深度解析 + 模拟实现(下)——面试 / 开发都适用
开发语言·c++·stl
Azure_withyou1 小时前
Visual Studio中try catch()还未执行,throw后便报错
c++·visual studio
琉染云月1 小时前
【C++入门练习软件推荐】Visual Studio下载与安装(以Visual Studio2026为例)
c++·visual studio
L_09073 小时前
【C++】高阶数据结构 -- 红黑树
数据结构·c++
智者知已应修善业6 小时前
【查找字符最大下标以*符号分割以**结束】2024-12-24
c语言·c++·经验分享·笔记·算法
91刘仁德6 小时前
c++类和对象(下)
c语言·jvm·c++·经验分享·笔记·算法
diediedei7 小时前
模板编译期类型检查
开发语言·c++·算法
mmz12077 小时前
分治算法(c++)
c++·算法
一切尽在,你来7 小时前
C++多线程教程-1.2.1 C++11/14/17 并发特性迭代
开发语言·c++