题目:有n个人围成一圈,顺序排号,从第一个开始报数(从1到3报数),凡报到3的人退出圈子,问最后最后留下的是原来第几号的那位. 提示:用数组完成
来源:互联网 发布:windows xp是什么系统 编辑:程序博客网 时间:2024/06/05 23:44
#include<stdio.h>
int main()
{
int i,q,p,n,a[100],w=0;
scanf("%d",&n);
q=n;
for(i=0;i<n;i++)
a[i]=i+1;
i=0;p=0;
while(1)
{
if(a[i]!=0)
p++;
if(p==3)
{
a[i]=0;
w++;
p=0;
}
i++;
if(i==n)i=0;
if(w==q-1)break;
}
for(i=0;i<n;i++)
if(a[i]!=0)
printf("%d",a[i]);
return 0;
int main()
{
int i,q,p,n,a[100],w=0;
scanf("%d",&n);
q=n;
for(i=0;i<n;i++)
a[i]=i+1;
i=0;p=0;
while(1)
{
if(a[i]!=0)
p++;
if(p==3)
{
a[i]=0;
w++;
p=0;
}
i++;
if(i==n)i=0;
if(w==q-1)break;
}
for(i=0;i<n;i++)
if(a[i]!=0)
printf("%d",a[i]);
return 0;
}
这样就可以运行了。这只是其中一种比较适合初学者,还有几种,这边分享给你们:
#include<iostream> using namespace std; int main() { int num[50]; int i,j,k,m,n; int *p; cout<<endl<<"请输入总人数:"<<endl; cin>>n; p=num; for(i=0;i<n;i++) { *(p+i)=i+1; //以1至n为序,给每个人编号 } i=0; //i为每次循环时计数变量 k=0; //k为按1 2 3报数时的计数变量 m=0; //m为退出人数 while(m<n-1) //当退出人数比n-1少时(即未退出人数大于1时)执行循环体 { if(*(p+i)!=0) { k++; } if(k==3) //将退出人的编号置为0 { *(p+i)=0; k=0; m++; } i++; if(i==n) { i=0;//报数到尾后i恢复为0 } } while(*p==0) { p++; } cout<<"最后一个是"<<*p<<" 号!"<<endl; return 0; }
一种比较叼的:
#include <stdio.h> int M = 3; int main() { int n, s = 0; scanf("%d", &n); for (int i = 2; i <= n; ++i) s = (s+M)%i; printf("%d\n", s+1); return 0; }
阅读全文
0 0
- 题目:有 n 个人围成一圈,顺序排号,从第一个开始报数(从1到3报数),凡报到3的人退出圈子,问最后最后留下的是原来第几号的那位。
- 2.有n个人围成一圈,顺序排号,从第一个开始报数(从1到3报数),凡报到3的人退出圈子,问最后最后留下的是原来第几号的那位.
- 有n个人围成一圈,顺序排号,从第一个开始报数(从1到3报数),凡报到3的人退出圈子,问最后最后留下的是原来第几号的那位.
- 有n个人围成一圈,顺序排号,从第一个开始报数(从1到3报数),凡报到3的人退出圈子,问最后最后留下的是原来第几号的那位
- 有n个人围成一圈,顺序排号,从第一个开始报数(从1到3报数),凡报到3的人退出圈子,问最后最后留下的是原来第几号的那位.
- 有n个人围成一圈,顺序排号,从第一个开始报数(从1到3报数),凡报到3的人退出圈子,问最后最后留下的是原来第几号的那位.
- 题目:有n个人围成一圈,顺序排号。从第一个人开始报数(从1到3报数),凡报到3的人退出圈子,问最后留下的是原来第几号的那位。
- python 实现:题目:有n个人围成一圈,顺序排号。从第一个人开始报数(从1到3报数),凡报到3的人退出圈子,问最后留下的是原来第几号的那位。
- 【程序37】 题目:有n个人围成一圈,顺序排号。从第一个人开始报数 (从1到3报数),凡报到3的人退出圈子,问最后留下的是 原来第几号的那位。
- C语言题目:有n个人围成一圈,顺序排号。从第一个人开始报数(从1到3报数),凡报到3的人退出圈子,问最后留下的是原来第几号的那位。
- 题目:有n个人围成一圈,顺序排号,从第一个开始报数(从1到3报数),凡报到3的人退出圈子,问最后最后留下的是原来第几号的那位. 提示:用数组完成
- 题目:有n个人围成一圈,顺序排号,从第一个开始报数(从1到3报数),凡报到3的人退出圈子,问最后最后留下的是原来第几号的那位. 提示:用数组完成
- 有n个人围成一圈,顺序排号。从第一个人开始报数(从1到3报数)凡报到3的人退出圈子问最后留下1个人的是原来第几号的那位。
- 有n个人围成一圈,顺序排号,从第一个开始报数(从1到m报数),凡报到m的人退出圈子,问最后最后留下的是原来第几号的那位
- 有n个人围成一圈,顺序排号。从第一个人开始报数(从1到3报数),凡报到3的人退出圈子,问最后留下的是原来第几号的那位。
- 有n个人围成一圈,顺序排号。从第一个人开始报数(从1到3报数),凡报到3的人退出圈子,问最后留下的是原来第几号的那位。
- 有n个人围成一圈,顺序排号。从第一个人开始报数(从1到3报数), 凡报到3的人退出圈子,问最后留下 的是原来第几号的那位。
- 有n个人围成一圈,顺序排号。从第一个人开始报数(从1到3报数), 凡报到3的人退出圈子,问最后留下 的是原来第几号的那位。
- 决策树
- Java静态内部类和非静态内部类的两个区别
- 边界跟踪算法(二)——摩尔邻域跟踪算法
- 1068 Bash游戏 V3 (sg打表找规律)
- grunt从入门到自定义项目模板
- 题目:有n个人围成一圈,顺序排号,从第一个开始报数(从1到3报数),凡报到3的人退出圈子,问最后最后留下的是原来第几号的那位. 提示:用数组完成
- iOS自动布局框架-Masonry详解
- Spring-Boot之基础 POM 文件和自动配置(maven)
- Java的goto:标签+break/continue
- 八.spring+rabbitmq
- web项目静态资源诸如图片等上传引用问题
- 加密
- 设计模式——单例模式
- mysqldump DBA必知必会