欢迎来到一句话经典语录网
我要投稿 投诉建议
当前位置:一句话经典语录 > 描写句子 > 描写约瑟夫的句子

描写约瑟夫的句子

时间:2019-09-04 13:28

约瑟夫收到莲蓬时,他的心里是怎样想的,请写出他的心理活动

先普及一下知识,什么是约瑟夫问题

约瑟夫问题即设有n个人坐成一个圈,从某个人开始报数,数到m的人出列,接着从出列的下一个人开始从新报数,数到m的人在出列,如此循环,直到所有人出列为止。

最后按出列顺序输出。

public int[] Jose(int total,int start,int alter){ int j,k=0; int[] count=new int[total+1]; int[] s=new int[total+1]; for(int i=0;i=2;i--) { start=(start+alter-1)%i; if(start==0) start=i; count[k]=s[start]; k++; for(j=start+1;j<=i;j++) s[j-1]=s[j]; } count[k]=s[1]; return count;}

我自己写的约瑟夫环,求助

inputpassword漏了p=p->next;这样就相当于一直在给一个节点赋值还有while(p!=p->next){gostar(s,p);cout<position;s=p->password;t=p;p=p->next;\\\/\\\/你只是将指针指到此节点后面的节点,但是没将前面的节点连起来,这样就无法构成封闭环了free(t);}

约瑟夫问题C语言写一下.

#include#includevoid main(void){ int i,j=0,count=0,n,*a; printf(请输入n:); scanf(%d,&n); if((a=(int *)malloc(n*sizeof(int)))==NULL) { printf(错误); return; } for(i=0;i

约瑟夫问题

\\\/\\\/这是用链表的方法。

#include #include struct LNode{ int data; LNode* next;};void CreateList(LNode**L,int n){ LNode *p,*q; *L=new LNode; (*L)->data=1; (*L)->next=*L; q=*L; for(int i=2;i<=n;i++) { p=new LNode; p->data=i; q->next=p; q=p; } q->next=*L;}void josephus(LNode *L,int m){ LNode *p,*q; p=L; q=NULL; int count=1; if (m<=1) { while(p->next!=L) { cout<data<<'\\\'; p=p->next; } cout<data<next!=p) { if(count==m-1) { q=p->next->next; cout<next->data<<'\\\'; delete p->next; p->next=q; count=0; } p=p->next; count++; } cout<data<<'\\\ '; }}void main(){ LNode *L=NULL; int m,n; cout<<输入m、n的值:<>m>>n; CreateList(&L,n); josephus(L,m);}\\\/\\\/这是用c#include #include struct LNode{ int data; LNode* next;};void CreateList(LNode**L,int n){ LNode *p,*q; *L=(LNode*)malloc(sizeof(LNode)); (*L)->data=1; (*L)->next=*L; q=*L; for(int i=2;i<=n;i++) { p=(LNode*)malloc(sizeof(LNode)); p->data=i; q->next=p; q=p; } q->next=*L;}void josephus(LNode *L,int m){ LNode *p,*q; p=L; q=NULL; int count=1; if (m<=1) { while(p->next!=L) { printf(%d\\\,p->data); p=p->next; } printf(%d\\\ ,p->data); } else { while(p->next!=p) { if(count==m-1) { q=p->next->next; printf(%d\\\,p->next->data); free(p->next); p->next=q; count=0; } p=p->next; count++; } printf(%d\\\ ,p->data);; }}void main(){ LNode *L=NULL; int m,n; printf(输入m、n的值:\\\ ); scanf(%d %d,&m,&n); CreateList(&L,n); josephus(L,m);}

声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。联系xxxxxxxx.com

Copyright©2020 一句话经典语录 www.yiyyy.com 版权所有

友情链接

心理测试 图片大全 壁纸图片