最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

編程每日刷題系列九(抽簽)

2021-02-18 09:40 作者:Eric_Richard  | 我要投稿

抽簽

X星球要派出一個5人組成的觀察團(tuán)前往W星。

其中:

A國最多可以派出4人。

B國最多可以派出2人。

C國最多可以派出2人。

....

那么最終派往W星的觀察團(tuán)會有多少種國別的不同組合呢?

下面的程序解決了這個問題。

數(shù)組a[] 中既是每個國家可以派出的最多的名額。

程序執(zhí)行結(jié)果為:

DEFFF

CEFFF

CDFFF

CDEFF

CCFFF

CCEFF

CCDFF

CCDEF

BEFFF

BDFFF

BDEFF

BCFFF

BCEFF

BCDFF

BCDEF

....

(以下省略,總共101行)

#include <stdio.h>

#define N 6

#define M 5

#define BUF 1024


void f(int a[], int k, int m, char b[])

{

int i,j;


if(k==N){?

b[M] = 0;

if(m==0) printf("%s\n",b);

return;

}


for(i=0; i<=a[k]; i++){

for(j=0; j<i; j++) b[M-m+j] = k+'A';

______________________;? //填空位置

}

}

int main()

{

int? a[N] = {4,2,2,1,1,3};

char b[BUF];

f(a,0,M,b);

return 0;

}

仔細(xì)閱讀代碼,填寫劃線部分缺少的內(nèi)容。

注意:不要填寫任何已有內(nèi)容或說明性文字。

思路

這題一看就知道填空的部分是遞歸,所以我們直接考慮哪些變量需要變動,這里有個框架f(a,x,x,b);第一層循環(huán)我們知道i表示k國派出的人數(shù),j表示填入b的人數(shù),看遞歸出口,

if(k==N){?

b[M] = 0;

if(m==0) printf("%s\n",b);

return;

}

而一開始k = 0,說明期間k在遞增,說明框架是f(a, k + 1,? x, b),由推理可知,第三空肯定是缺少的人數(shù),即用m -?i,所以答案是:

f(a,k + 1,m -?i,?b)

為了驗(yàn)證此答案,特地在原代碼上改動了一下

運(yùn)行結(jié)果:

總數(shù)也是101,符合題意

如果喜歡我的文章,之后我會持續(xù)更新,請記得一鍵三連哦,點(diǎn)贊關(guān)注收藏,你的每一個贊每一份關(guān)注每一次收藏都將是我前進(jìn)路上的無限動力 ?。?!↖(▔▽▔)↗感謝支持!



編程每日刷題系列九(抽簽)的評論 (共 條)

分享到微博請遵守國家法律
上林县| 衢州市| 井冈山市| 乳源| 峨边| 舟山市| 井冈山市| 迁安市| 莫力| 友谊县| 德庆县| 香港 | 宣威市| 灵宝市| 凤山市| 安徽省| 开平市| 富民县| 兴义市| 郸城县| 昭通市| 台南县| 和林格尔县| 伊宁市| 磐安县| 枣阳市| 惠东县| 威信县| 牟定县| 石阡县| 布拖县| 合山市| 信阳市| 娄底市| 安陆市| 双牌县| 望江县| 杭锦后旗| 陵水| 大厂| 尖扎县|