商人过河问题数学建模和随从过河的问题

转过路角忽然发现,3岁的儿子已在路口等着自己回来。
在0℃的江苏无锡街头,环卫工用双手疏通下水道。
声明:本文由入驻搜狐公众平台的作者撰写,除搜狐官方账号外,观点仅代表作者本人,不代表搜狐立场。
  在这讲一个有趣的数学问题,相信大家小时候都有被各种数学题难倒的时候,商人过河问题相信也有很多朋友解答过,大家可以在下面发表下自己的解决方案哦!
  商人过河可以看做一个多布决策过程。每一步由此岸到彼岸或彼岸到此岸船上的人员在安全的前提下(两岸的随从数不比商人多),经有限步使全体人员过河。用状态变量表示某一岸的人员状况,决策变量表示船上的人员情况,可以找出状态随决策变化的规律。问题就转换为在状态的允许变化范围内(即安全渡河条件),确定每一步的决策,达到安全渡河的目标。
  这里我将用C语言来解决这个小难题,我期待和大家一起交流学习 探索和体验编程的魅力(群号:)
  参考代码如下:
  #include &stdio.h&
  #include &conio.h&
  #include &string.h&
  void dwframe()
  window(1,1,25,80);
  textbackground(LIGHTBLUE);
  textcolor(YELLOW);
  clrscr();
  gotoxy(2,2);
  printf(&┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓&);
  gotoxy(2,3);
  printf(&┃&);
  gotoxy(76,3);
  printf(&┃&);
  gotoxy(2,4);
  printf(&┃&);
  gotoxy(76,4);
  printf(&┃&);
  gotoxy(2,5);
  printf(&┃&);
  gotoxy(76,5);
  printf(&┃&);
  gotoxy(2,6);
  printf(&┃&);
  gotoxy(76,6);
  printf(&┃&);
  gotoxy(2,7);
  printf(&┃&);
  gotoxy(76,7);
  printf(&┃&);
  gotoxy(2,8);
  printf(&┃&);
  gotoxy(76,8);
  printf(&┃&);
  gotoxy(2,9);
  printf(&┃&);
  gotoxy(76,9);
  printf(&┃&);
  gotoxy(2,10);
  printf(&┃&);
  gotoxy(76,10);
  printf(&┃&);
  gotoxy(2,11);
  printf(&┃&);
  gotoxy(76,11);
  printf(&┃&);
  gotoxy(2,11);
  printf(&┃&);
  gotoxy(76,11);
  printf(&┃&);
  gotoxy(2,12);
  printf(&┃&);
  gotoxy(76,12);
  printf(&┃&);
  gotoxy(2,14);
  printf(&┃&);
  gotoxy(76,14);
  printf(&┃&);
  gotoxy(2,15);
  printf(&┃&);
  gotoxy(76,15);
  printf(&┃&);
  gotoxy(2,16);
  printf(&┃&);
  gotoxy(76,16);
  printf(&┃&);
  gotoxy(2,17);
  printf(&┃&);
  gotoxy(76,17);
  printf(&┃&);
  gotoxy(2,18);
  printf(&┃&);
  gotoxy(76,18);
  printf(&┃&);
  gotoxy(2,19);
  printf(&┃&);
  gotoxy(76,19);
  printf(&┃&);
  gotoxy(2,20);
  printf(&┃&);
  gotoxy(76,20);
  printf(&┃&);
  gotoxy(2,21);
  printf(&┃&);
  gotoxy(76,21);
  printf(&┃&);
  gotoxy(2,22);
  printf(&┃&);
  gotoxy(76,22);
  printf(&┃&);
  gotoxy(2,23);
  printf(&┃&);
  gotoxy(76,23);
  printf(&┃&);
  gotoxy(2,24);
  printf(&┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛&);
  void helpf()
  dwframe();
  gotoxy(25,4);
  printf(&^_^欢迎使用商人过河游戏!^_^&);
  gotoxy(4,6);
  printf(&游戏说明:&);
  gotoxy(5,7);
  printf(&三个商人带着三个随从和货物过河,船每次最多只能载两个人,&);
  gotoxy(5,8);
  printf(&要求在过河期间,任一岸上商人的人数要大于或等于随从的人数,&);
  gotoxy(5,9);
  printf(&否则随从会杀掉商人抢走货物。&);
  gotoxy(5,11);
  printf(&游戏操作:(1)依次输入过河的商人和随从人数;&);
  gotoxy(5,12);
  printf(& (2)非法输入按键将重新开始。&);
  gotoxy(2,13);
  printf(&┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫&);
  char a[6];
  char b[6];
  void printcase(char a[],char b[])
  int i,j,xa,xb,x0,ya,yb,y0;
  xa=xb=x0=ya=yb=y0=0;
  gotoxy(11,14);
  printf(&此岸 彼岸\n&);
  for(i=0;i&6;i++)
  if(a[i]=='A')
  else if (a[i]=='B')
  else if(a[i]=='0')
  gotoxy(11,15);
  for(i=1;i&=i++)
  printf(&商人 &);
  gotoxy(11,16);
  for(i=1;i&=i++)
  printf(&随从 &);
  gotoxy(11,17);
  for(i=1;i&=x0;i++)
  printf(& &);
  for(j=0;j&6;j++)
  if(b[j]=='A')
  else if(b[j]=='B')
  else if(b[j]=='0')
  gotoxy(31,15);
  for(j=1;j&=j++)
  printf(&商人 &);
  gotoxy(31,16);
  for(j=1;j&=j++)
  printf(&随从 &);
  gotoxy(31,17);
  for(j=1;j&=y0;j++)
  printf(& &);
  if(xa==0 && xb==0 && ya==3 && yb==3)
  gotoxy(15,21);
  printf(&恭喜你!你已成功帮助商人安全过河!按任意键退出...&);
  getch();
  window(1,1,25,80);
  textbackground(BLACK);
  textcolor(LIGHTGRAY);
  clrscr();
  exit(0);
  void main()
  int i,x,y,key,ca,cb,j,aA,aB,bA,bB;
  Start:
  helpf();
  gotoxy(15,16);
  printf(&请按任意键开始游戏(按Q键退出)...&);
  ch=getch();
  if(ch=='Q'||ch=='q')
  window(1,1,25,80);
  textbackground(BLACK);
  textcolor(LIGHTGRAY);
  clrscr();
  exit(0);
  helpf();
  for(i=0;i&3;i++)
  a[i]='A';
  for(i=3;i&6;i++)
  a[i]='B';
  for(i=0;i&6;i++)
  b[i]='0';
  printcase(a,b);
  while(1)
  gotoxy(20,18);
  printf(&输入去彼岸商人的人数: &);
  scanf(&%d&,&x);
  gotoxy(20,18);
  printf(&输入去彼岸随从的人数: &);
  scanf(&%d&,&y);
  for(ca=0,cb=0,i=0;i&6;i++)
  if(a[i]=='A')
  else if(a[i]=='B')
  if(x&0 || x&ca || y&0 || y&cb || x+y&1 ||x+y&2)
  gotoxy(15,21);
  printf(&输入有误!!按任意键重新开始...&);
  getch();
  goto S
  for(i=1;i&=x;i++)
  for(j=0;j&6;j++)
  if(a[j]=='A')
  a[j]='0';
  for(i=1;i&=x;i++)
  for(j=0;j&6;j++)
  if(b[j]=='0')
  b[j]='A';
  for(i=1;i&=y;i++)
  for(j=0;j&6;j++)
  if(a[j]=='B')
  a[j]='0';
  for(i=1;i&=y;i++)
  for(j=0;j&6;j++)
  if(b[j]=='0')
  b[j]='B';
  for(aA=0,aB=0,i=0;i&6;i++)
  if(a[i]=='A')
  else if(a[i]=='B')
  for(bA=0,bB=0,i=0;i&6;i++)
  if(b[i]=='A')
  else if(b[i]=='B')
  if((aA==3) ||(bA==3) || (aA==aB) || (bA==bB))
  helpf();
  printcase(a,b);
  gotoxy(15,21);
  printf(&商人被杀,按任意键重新开始...&);
  getch();
  goto S
  gotoxy(20,18);
  printf(&输入回此岸商人的人数: &);
  scanf(&%d&,&x);
  gotoxy(20,18);
  printf(&输入回此岸随从的人数: &);
  scanf(&%d&,&y);
  for(ca=0,cb=0,i=0;i&6;i++)
  if(b[i]=='A')
  else if(b[i]=='B')
  if(x&0 || x&ca || y&0 || y&cb || x+y&1 || x+y&2)
  gotoxy(15,21);
  printf(&输入有误!!按任意键重新开始...&);
  getch();
  goto S
  for(i=1;i&=x;i++)
  for(j=0;j&6;j++)
  if(b[j]=='A')
  b[j]='0';
  for(i=1;i&=x;i++)
  for(j=0;j&6;j++)
  if(a[j]=='0')
  a[j]='A';
  for(i=1;i&=y;i++)
  for(j=0;j&6;j++)
  if(b[j]=='B')
  b[j]='0';
  for(i=1;i&=y;i++)
  for(j=0;j&6;j++)
  if(a[j]=='0')
  a[j]='B';
  for(aA=0,aB=0,i=0;i&6;i++)
  if(a[i]=='A')
  else if(a[i]=='B')
  for(bA=0,bB=0,i=0;i&6;i++)
  if(b[i]=='A')
  else if(b[i]=='B')
  if((aA==3) ||(bA==3) || (aA==aB) || (bA==bB))
  helpf();
  printcase(a,b);
  gotoxy(15,21);
  printf(&商人被杀,按任意键重新开始...&);
  getch();
  goto S
  这是今天的内容,有问题的地方大家可以指出。
  如果对编程方面有兴趣的可以加群:,大家一起学习交流。
  群内有许多学习资料、视频,免费课......
欢迎举报抄袭、转载、暴力色情及含有欺诈和虚假信息的不良文章。
请先登录再操作
请先登录再操作
微信扫一扫分享至朋友圈
搜狐公众平台官方账号
生活时尚&搭配博主 /生活时尚自媒体 /时尚类书籍作者
搜狐网教育频道官方账号
全球最大华文占星网站-专业研究星座命理及测算服务机构
一个持续分享C/C++学习视频资料的账号
主演:黄晓明/陈乔恩/乔任梁/谢君豪/吕佳容/戚迹
主演:陈晓/陈妍希/张馨予/杨明娜/毛晓彤/孙耀琦
主演:陈键锋/李依晓/张迪/郑亦桐/张明明/何彦霓
主演:尚格?云顿/乔?弗拉尼甘/Bianca Bree
主演:艾斯?库珀/ 查宁?塔图姆/ 乔纳?希尔
baby14岁写真曝光
李冰冰向成龙撒娇争宠
李湘遭闺蜜曝光旧爱
美女模特教老板走秀
曝搬砖男神奇葩择偶观
柳岩被迫成赚钱工具
大屁小P虐心恋
匆匆那年大结局
乔杉遭粉丝骚扰
男闺蜜的尴尬初夜
客服热线:86-10-
客服邮箱: 上传我的文档
 下载
 收藏
该文档贡献者很忙,什么也没留下。
 下载此文档
正在努力加载中...
商人们怎样安全过河 (附MATLAB程序完整)
下载积分:1000
内容提示:商人们怎样安全过河 (附MATLAB程序完整)
文档格式:DOC|
浏览次数:204|
上传日期: 08:17:20|
文档星级:
该用户还上传了这些文档
商人们怎样安全过河 (附MATLAB程序完整)
官方公共微信&&&&商人随从过河
&商人随从过河
商人随从过河问题,可以运行的哦,小代码值得参考啊!
若举报审核通过,可奖励20下载分
被举报人:
sunny15100
举报的资源分:
请选择类型
资源无法下载
资源无法使用
标题与实际内容不符
含有危害国家安全内容
含有反动色情等内容
含广告内容
版权问题,侵犯个人或公司的版权
*详细原因:
VIP下载&&免积分60元/年(1200次)
您可能还需要
Q.为什么我点的下载下不了,但积分却被扣了
A. 由于下载人数众多,下载服务器做了并发的限制。若发现下载不了,请稍后再试,多次下载是不会重复扣分的。
Q.我的积分不多了,如何获取积分?
A. 获得积分,详细见。
完成任务获取积分。
论坛可用分兑换下载积分。
第一次绑定手机,将获得5个C币,C币可。
关注并绑定CSDNID,送10个下载分
下载资源意味着您已经同意遵守以下协议
资源的所有权益归上传用户所有
未经权益所有人同意,不得将资源中的内容挪作商业或盈利用途
CSDN下载频道仅提供交流平台,并不能对任何下载资源负责
下载资源中如有侵权或不适当内容,
本站不保证本站提供的资源的准确性,安全性和完整性,同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
课程资源下载排行
您当前C币:0&&&可兑换 0 下载积分
兑换下载分:&
消耗C币:0&
立即兑换&&
兑换成功你当前的下载分为 。前去下载资源
你下载资源过于频繁,请输入验证码
如何快速获得积分?
你已经下载过该资源,再次下载不需要扣除积分
商人随从过河
所需积分:1
剩余积分:0
扫描微信二维码精彩活动、课程更新抢先知
VIP会员,免积分下载
会员到期时间:日
剩余下载次数:1000
商人随从过河
剩余次数:&&&&有效期截止到:
你还不是VIP会员VIP会员享免积分 . 专属通道极速下载
VIP下载次数已满VIP会员享免积分 . 专属通道极速下载,请继续开通VIP会员
你的VIP会员已过期VIP会员享免积分 . 专属通道极速下载,请继续开通VIP会员君,已阅读到文档的结尾了呢~~
商人过河问题
扫扫二维码,随身浏览文档
手机或平板扫扫即可继续访问
商人过河问题
举报该文档为侵权文档。
举报该文档含有违规或不良信息。
反馈该文档无法正常浏览。
举报该文档为重复文档。
推荐理由:
将文档分享至:
分享完整地址
文档地址:
粘贴到BBS或博客
flash地址:
支持嵌入FLASH地址的网站使用
html代码:
&embed src='/DocinViewer--144.swf' width='100%' height='600' type=application/x-shockwave-flash ALLOWFULLSCREEN='true' ALLOWSCRIPTACCESS='always'&&/embed&
450px*300px480px*400px650px*490px
支持嵌入HTML代码的网站使用
您的内容已经提交成功
您所提交的内容需要审核后才能发布,请您等待!
3秒自动关闭窗口

我要回帖

更多关于 商人安全过河问题 的文章

 

随机推荐