16个医生和护士的问题
Posted yfish
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了16个医生和护士的问题相关的知识,希望对你有一定的参考价值。
有这么一道题。医院里的医护人员,包括A在内,总共有16名医生和护士。下面讲到的人员情况,无论是否把A计算在内,都
不会有任何变化。在这些医护人员中:护士多于医生;男医生多于男护士;男护士多于女护士;至少有一位女医生。那么,请问A的性别和职务是什么?
设男医生个数为m1,男护士个数为m2,女医生个数为w1,女护士个数为w2
若不把A算在16名医生和护士里面,则需要如下条件同时满足:
可以用for循环枚举m1 m2 w1 w2,代码如下:
int main(void) { int m1; //nanyisheng int m2;//nanhushi int w1;//nvyisheng int w2;//nvhushi for (m1 = 1; m1 < 15; m1++) { for (m2 = 1; m2 < 15; m2++) { for (w1 = 1; w1 < 15; w1++) { for (w2 = 1; w2 < 15; w2++) { if (m2 + w2 > m1 + w1) { if (m1 > m2) { if (m2 > w2) { if (w1 >= 1) { if (m1 + m2 + w1 + w2 == 15) { printf("m1=%d m2=%d w1=%d w2=%d ",m1,m2,w1,w2); } } } } } } } } } return 1; }
输出结果是:
意思是若不把A算在16个医护人员里面,满足条件的人员配比是:
男医生:6 男护士:5 女医生:1 女护士3
若把A算在16个医护人员里面,则需要如下条件同时满足:
代码还用上面那个,只需要把printf里面的15改成16就可以了。
输出的结果是:
意思是,若把A算在16名医护人员在内,满足条件的人员配比是:
男医生:6 男护士:5 女医生1:女护士4
*********************************************************************************************************************************************
对比两次结果:
男医生:6 男护士:5 女医生:1 女护士3
男医生:6 男护士:5 女医生:1 女护士4
所以多出的那个人就是女护士,也就是说A是那个女护士。
以上是关于16个医生和护士的问题的主要内容,如果未能解决你的问题,请参考以下文章