日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程语言 > c/c++ >内容正文

c/c++

猴子选大王c语言课程设计,【C/C++】猴子选大王

發(fā)布時(shí)間:2024/1/23 c/c++ 34 豆豆
生活随笔 收集整理的這篇文章主要介紹了 猴子选大王c语言课程设计,【C/C++】猴子选大王 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

這些題目都是大一剛?cè)雽W(xué)時(shí)學(xué)習(xí)C語(yǔ)言的課后作業(yè),在OJ上看到還保留著,就都整理下發(fā)出來(lái)吧......(只有題和代碼)

【問題描述】要從n只猴子中選出一位大王。它們決定使用下面的方法:

n只猴子圍成一圈,從1到n順序編號(hào)。從第q只猴子開始,從1到m報(bào)數(shù),凡報(bào)到m的猴子退出競(jìng)選,下一次又從退出的那只猴子的下一只開始從1到m報(bào)數(shù),直至剩下的最后一只為大王。請(qǐng)問最后哪只猴子被選為大王。

【輸入形式】控制臺(tái)輸入三個(gè)整數(shù)n,m,q。

【輸出形式】輸出最后選為大王的猴子編號(hào)。

【樣例輸入】

7 4 3

【樣例輸出】

4

【樣例說明】輸入整數(shù)n = 7,m = 4,n = 3,輸出4

【評(píng)分標(biāo)準(zhǔn)】本題要求輸出最后被選為大王的猴子編號(hào),完全正確得20分,每個(gè)測(cè)試點(diǎn)4分。上傳C語(yǔ)言文件名為monkey.c。

【代碼】

還記得,這道題折磨我到凌晨不知道幾點(diǎn)...當(dāng)時(shí)的邏輯似乎就是繞不過來(lái),但是想通后就覺得很簡(jiǎn)單了。我已經(jīng)有寫過約瑟夫問題,感興趣的主頁(yè)搜索即可。

下面是代碼:

#include //選個(gè)鬼哦,頭疼

int a[5201314];

int main()

{

int c_k(int n,int m,int q);

int n,m,q;

scanf("%d %d %d",&n,&m,&q);

printf("%d",c_k(n,m,q));

return 0;

}

int c_k(int n,int m,int q)

{

int i;

int sum=0;//累加數(shù)sum

int count=n; //兒子個(gè)數(shù)賦初值

for(i=0;i

i=q-1;//從第q個(gè)猴子開始數(shù)

while(i<=n)

{

if(i==n)i=0;//哈哈哈哈哈哈哈哈哈哈哈哈,看不懂吧

sum+=a[i];

if(sum==m)

{

sum=a[i]=0;//淘汰(給該數(shù)組元素賦值,相當(dāng)于帶上標(biāo)記

count-=1;

if (count==1) break;

}

i++;

}

for(i=0;i

if(a[i]!=0)break;//找到就跳出來(lái)

return (i+1);//返回

}

原先代碼有些注釋實(shí)在不雅。。我就刪除了。

PS:由于當(dāng)時(shí)剛學(xué)C語(yǔ)言,很多代碼顯得很稚嫩...需要的人見諒...

總結(jié)

以上是生活随笔為你收集整理的猴子选大王c语言课程设计,【C/C++】猴子选大王的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。