1樓:雨愁軒
#include ""
void main(void)
int cont2,ele,number,start,*person,spaker,last,cont; do
printf("how many element do you want: "一共多少人*/
scanf("%d",&ele);
printf("which number cause out:")數到幾則退出圓桌*/
scanf("%d",&number);
printf("which person to start:")從第幾個人開始數*/
scanf("%d",&start);
當總數小於1,或者鑰匙數小於1,或者開始數數的人編號比最大人數還大說明輸入有誤,需要重新輸入*/
while(ele<1||number<1||start<1||start>ele);
分配一段空間用於儲存這些數如果申請空間失敗則退出*/
if((person =(int *)calloc((ele+1),sizeof(int)))null)
printf("out of memory!!!
exit(0);
printf("the order is:"
set person */
for(cont = 1;cont<=ele;cont++)
person[cont]=cont+1;
person[ele]=1;
spaker = start;
start say numbers */
for(cont = 0;contfor(cont2=1;cont2last = spaker;
spaker = person[spaker];
cont++;
printf(" d",person[last]);
person out */
person[last] =person[spaker];
spaker = person[spaker];
printf(" \t\t\t\t\t\tanykey to exit");
bioskey(0);
2樓:網友
你至少應該合併問題。
這樣大家也比較方便。
求解約瑟夫環的思路分析
3樓:匿名使用者
約瑟夫環。
是乙個數學的應用問題:
已知n個人(以編號1,2,3...n分別表示)圍坐在一張圓桌周圍。從編號為k的人開始報數,數到m的那個人出列;他的下乙個人又從1開始報數,數到m的那個人又出列;依此規律重複下去,直到圓桌周圍的人全部出列。
這個就是約瑟夫環問題的實際場景,有一種是要通過輸入n,m,k三個正整數,來求出列的序列。這個問題採用的是典型的迴圈連結串列的資料結構,就是將乙個連結串列的尾元素指標指向隊首元素。 p->link=head
解決問題的核心步驟:
1.建立乙個具有n個鏈結點,無頭結點的迴圈連結串列。
2.確定第1個報數人的位置。
3.不斷地從連結串列中刪除鏈結點,直到連結串列為空。
void josephus(int n,int k,int m) //n為總人數,k為第乙個開始報數的人,m為出列者喊到的數。
p>link=list; /*使連結串列迴圈起來*/
p=list; /*使p指向頭節點*/
把當前指標移動到第乙個報數的人*/
for(i=0;ilink;
*迴圈地刪除佇列結點*/
while(p->link!=p)
r->link=p->link;
printf("被刪除的元素:%4d ",p->data);
free(p);
p=r->link;
printf("最後被刪除的元素是:%4d",p->data);}
約瑟夫環
4樓:網友
lz啊,這樣的問題上一大堆,可以上網copy嗎。
乙個約瑟夫問題求解,高手請進
非連結串列的。include iostream using namespace std define m int count int order m void joseph int n,int k,int m int flag m int count for int i k i n i if flag ...
c語言程式設計問題 約瑟夫問題求解,C語言程式設計問題 約瑟夫問題求解
include include n表示最初有多少個人,m表示報數到多少的人離開,函式joseph返回最後剩下的人的編號 這個演算法應該比較經典,等高手解答。我的想法的是,兩數列不斷交替篩選。用一個迴圈連結串列就可以完成了!include struct nodenode,list,p,r void j...
我用matlab求解約束非線性規劃問題,但是老是出現下面
看到數字了麼,這裡的數字,代表滾動速度 這裡輸入文字 你可以試著修改,回具體需要什答麼樣子的可以根據實際來弄。這個是個最簡單的能自己滾動的 了。根本不需要js運算就能成功的。求助一個用matlab求解非線性規劃的問題,不勝感激!1.把 x,fval fmincon fun x0,a,b,aeq,be...