早教吧 育儿知识 作业答案 考试题库 百科 知识分享

15个基督教和15个异教徒同乘一船航行.途中风浪很大,危险万状,领航人告诉大家,只有将全船人的一半投入海中,其余人始能幸免.大家赞成这个办法,并议定30人围成一圈,由第一人数起,挨个报数,

题目详情
15个基督教和15个异教徒同乘一船航行.途中风浪很大,危险万状,领航人告诉大家,只有将全船人的一半投入海中,其余人始能幸免.大家赞成这个办法,并议定30人围成一圈,由第一人数起,挨个报数,每数到第9个人,便把他投入海中,循环进行,直到剩下第15个人为止,问如何排法,方使每次投海者皆是异教徒?
要求:把输入扩展到人数:N个基督教和M个异教徒的情况,数到第K个人,0
▼优质解答
答案和解析
  // calu.cpp :Defines the entry point for the console application.
  /*实现把所有异教徒跳下船,此程序采用逆向思维
  */
  #include "stdafx.h"
  typedef struct _tman
  {
  int type;//0表示基督教,1表示异教徒
  _tman *next;
  }MAN;
  #define M 15//定义基督教人数
  #define N 15//定义异教徒人数
  #define K 9//定义数到第几个人跳船
  int main(int argc,char* argv[])
  {
  int m,n,k,i,j;
  m=M;
  n=N;
  k=K;
  MAN *head=new MAN;
  MAN *pnow;
  MAN *pinsert;
  int result[M+N];
  head->type=0;
  pnow=head;
  for(i=0;itype=0;
  pnow->next=ptemp;
  pnow=pnow->next;
  }
  pnow->next=head;//形成圆
  pnow=head;
  for(i=0;itype=1;
  pinsert->next=pnow->next;//插一下又不会怀孕
  pnow->next=pinsert;
  }
  pnow=head;
  for(i=0;itype;
  pnow=pnow->next;
  }
  for(i=m+n;i>0;i--)//反过来输出
  {
  if(result[i-1]==0)
  printf("基督徒\n");
  else
  printf("异教徒\n");
  pnow=pnow->next;
  }
  return 0;
  }
看了15个基督教和15个异教徒同乘...的网友还看了以下:

甲、乙两船原有乘客310人,到港口后从甲船下去60人,乙船上来20人,这时甲船人数正好是乙船人数的  2020-04-26 …

一群人要过河,如果每只船坐15人,将有9人上不了船.如果每只船多坐3人,则剩下一只船没人坐.岸边共  2020-05-14 …

某校学生乘船游览太湖时,若每船坐12人,将有11人无船可坐,若每船坐14人,会有1人独乘1只船,则  2020-05-17 …

阅读下面的文言文,完成(1)-(4)题鲁肃字子敬,临淮东城人也。家富于财,性好施与。周瑜为居巢长,  2020-07-11 …

禁独勒所,将数百人且站且引,所有死伤不相离怎么翻译  2020-07-26 …

阅读下面文言文,完成下题。鲁肃字子敬,临淮东城人也。家富于财,性好施与。周瑜为居巢长,将数百人故过候  2020-11-11 …

阅读下面的文言文,完成下题。鲁肃字子敬,临淮东城人也。家富于财,性好施与。周瑜为居巢长,将数百人故过  2020-11-11 …

阅读下面的文言文,完成1~5题。鲁肃字子敬,临淮东城人也。家富于财,性好施与。周瑜为居巢长,将数百人  2020-11-27 …

阅读下面的文言文,完成后面题目。(19分)鲁肃字子敬,临淮东城人也。家富於财,性好施与。周瑜为居巢长  2020-11-27 …

15个基督教和15个异教徒同乘一船航行.途中风浪很大,危险万状,领航人告诉大家,只有将全船人的一半投  2021-01-14 …