筛选最后的值
来源:互联网 发布:风险控制矩阵图 编辑:程序博客网 时间:2024/05/29 14:22
有n人围成一圈,顺序排号。从第1个人开始报数(从1到3报数),凡报到3的人退出圈子,问最后留下的是原来的第几号的那位。
输入
初始人数n
输出
最后一人的初始编号
样例输入
3
样例输出
2
#include<iostream>
using namespace std;
int main()
{
void del(int m[],int n);
int n;
cin>>n;
int a=n;
int*b=new int[n];//分配n个指向int的指针
int i,j;
for(i=0;i<a;i++)
{
b[i]=i+1;//记录各个元素的初始位置,以便输出最后留下的人的编号
}
if(n>1)
{
del(b,n);
cout<<b[1]<<endl;
}
else
{
cout<<b[0]<<endl;
}
}
void del(int m[],int n) //用来删除序号为3的元素
{
void yi(int m[],int l,int c);//重新排序
int i,b,c=0;
while(n>3)
{
for(i=0;i<n;i++)
{
b=(i)/3; //判断最近删除的是第几次删除,以便判断后面的元素该移动多少位
m[i-b]=m[i];//移动后面的元素掩盖被删除的元素
}
c=n%3;//记录多余的数
n=n-n/3;
yi(m,n,c);
}
}
void yi(int m[],int l,int c)
{
int i,tem[c];
for(i=0;i<c;i++)
{
tem[i]=m[l-c+i];
}
for(i=l-c;i>=0;i--)
{
m[i+c-1]=m[i-1];
}
for(i=0;i<c;i++)
{
m[i]=tem[i];
}
}
- 筛选最后的值
- 筛选出行或列的唯一值
- 最后生成的标识值
- 最后生成的标识值
- “筛选”与数据透视表的筛选
- 阿里校招内推简历筛选的筛选标准
- 最后的
- EXCEL的自动筛选
- 拼音筛选的实现
- GRIDVIEW的筛选逻辑
- 多方向的筛选
- textField的过滤筛选
- 素数的筛选
- 素数的线性筛选
- 对象的筛选
- Box2d的碰撞筛选
- 筛选法的应用
- 字段的筛选
- 物理引擎Box2D之形状
- hdu1181
- 教你如何迅速秒杀掉:99%的海量数据处理面试题 .
- 物理引擎Box2D之关联及关联定义
- Android Camera TakePicture過程分析
- 筛选最后的值
- 【转载】java socket编程
- Android驱动使用JNI调用
- 手把手教你把Vim改装成一个IDE编程环境(图文)
- 物理引擎Box2D之链接
- 转换函数
- hdu 1312 poj 1979 Red and Black BFS
- Android Camera 运行流程
- 纸上得来终觉浅,绝知此事要躬行