约瑟夫问题
来源:互联网 发布:淘宝打印t恤打印机骗局 编辑:程序博客网 时间:2024/06/07 14:35
#include<stdio.h>
#include<malloc.h>
void fun(int a[],int n){
for(int i=0;i<n;i++){
a[i]=i+1;
}
}
int Num(int a[],int n){
int count=0;
for(int i=0;i<n;i++){
if(a[i])
count++;
}
return count;
}
int Find(int a[],int n){
for(int i=0;i<n;i++){
if(a[i])
return a[i];
}
return 0;
}
void Print(int a[],int n){
for(int i=0;i<n;i++){
printf("%d ",a[i]);
}
printf("\n");
}
int main(){
int n,m,temp;
int k=0;
scanf("%d",&n);
scanf("%d",&m);
int * a=(int *)malloc(sizeof(int)*n);
fun(a,n);
temp=m;
while(Num(a,n)!=1){
if(a[k]){
temp--;
if(temp==0){
a[k]=0;
temp=m;
Print(a,n);
}
}
k++;
if(k==n){
k=0;
}
}
printf("finalman=%d\n",Find(a,n));
return 0;
}
#include<malloc.h>
void fun(int a[],int n){
for(int i=0;i<n;i++){
a[i]=i+1;
}
}
int Num(int a[],int n){
int count=0;
for(int i=0;i<n;i++){
if(a[i])
count++;
}
return count;
}
int Find(int a[],int n){
for(int i=0;i<n;i++){
if(a[i])
return a[i];
}
return 0;
}
void Print(int a[],int n){
for(int i=0;i<n;i++){
printf("%d ",a[i]);
}
printf("\n");
}
int main(){
int n,m,temp;
int k=0;
scanf("%d",&n);
scanf("%d",&m);
int * a=(int *)malloc(sizeof(int)*n);
fun(a,n);
temp=m;
while(Num(a,n)!=1){
if(a[k]){
temp--;
if(temp==0){
a[k]=0;
temp=m;
Print(a,n);
}
}
k++;
if(k==n){
k=0;
}
}
printf("finalman=%d\n",Find(a,n));
return 0;
}
阅读全文
0 0
- 约瑟夫问题、约瑟夫环
- 约瑟夫问题
- 约瑟夫问题
- 约瑟夫问题
- 约瑟夫问题
- 约瑟夫问题
- 约瑟夫问题
- 约瑟夫问题
- 约瑟夫问题
- 约瑟夫问题
- 约瑟夫问题
- 约瑟夫问题
- 约瑟夫问题
- 约瑟夫问题
- 约瑟夫问题
- 约瑟夫问题
- 约瑟夫问题
- 约瑟夫问题
- 抠脚大汉之教你在mfc下使用access数据库(c++方法)
- 正向代理与反向代理的区别
- angularjs之退出登录
- 同一机器下多个版本Python共存
- json 好文章
- 约瑟夫问题
- android surfaceview截图 系统截图
- Sublime Text 3 拼写检查
- git子模块使用之git submodule与 git subtree比较
- 第三方返回的T为NULL,反序列化时报错
- unity3D学习笔记之二:Stats面板
- 自旋锁在单处理器环境是无效的理解
- Adobe Illustrator CS6 激活
- Android 进阶7:进程通信之 AIDL 的使用