/****************************************
*  File Name  : game.c
*  Creat Data : 2015.1.30
*  Author     : ZY
*****************************************/ /*智力游戏*/
/*搬山游戏*/
/*设有n座山,计算几何人为比赛的双方,轮流搬山。规定每次搬山
的数目不能超过k座,谁搬最后一座山谁输。
1.当:剩余山数目 -1<= 可移动的最大数k时,计算机要移(剩余山
数目-1),以便最后一座山留给人
2.对于任意正整数x,y,一定有:
0 <= x%(y+1)<= y在有n座山的情况下,计算机为了将最后一座山留
给人,而且要控制每次搬山数目不超过最大数k,它应搬山的数目要
满足:
(n-1)%(k+1)
如果算出结果是0,则规定只搬一座山,以防止冒进后发生问题。*/#include <stdio.h>
int main()
{int n,k,x,y,cc = 0,pc = 0,g = 1;printf("Move Mountain Game\n");printf("Game Begin\n");for(;;){printf("No.%2d game\n",g++);printf("……………………………………………………\n");printf("How many mountains are there?");scanf("%d",&n);if(!n){break;}printf("How many mountains are allowed to each time?");do{scanf("%d",&k);if(k > n||k < 1){printf("Repeat again!\n");}}while(k > n||k < 1);do{printf("How many mountains do you wish to move away?");scanf("%d",&x);if(x < 1||x > k||x > n){printf("illegal,again please!\n");continue;}n -= x;printf("There are %d mountains left now.\n",n);if(!n){printf("………………I win.You are failure.………………\n\n");cc++;}else{y = (n-1)%(k+1);if(!y){y = 1;}n -= y;printf("Computer move %d mountains away.\n",y);if(n){printf("There are %d mountains left now.\n",n);}else{printf("………………I am failure.You win.………………\n\n");pc++;}}}while(n);}printf("Games in total have been played %d.\n",cc+pc);printf("Your score is win %d,lose %d.\n",pc,cc);printf("My score is win %d,lose %d.\n",cc,pc);return 0;
}

智力游戏(搬山游戏)相关推荐

  1. c语言搬山游戏,C语言实现搬山游戏代码解析

    问题描述 设有n座山,计算机与人作为比赛的双方,轮流搬山.规定每次搬山数不能超过k座,谁搬最后一座淮输.游戏开始时,计算机请人输入山的总数n和每次允许搬山的最大数k,然后请人开始,等人输入了需要搬走的 ...

  2. c语言做搬山游戏,C语言实现搬山小游戏,适合新手的项目实战,超易上手!

    原标题:C语言实现搬山小游戏,适合新手的项目实战,超易上手! 问题描述 设有n座山,计算机与人作为比赛的双方,轮流搬山.规定每次搬山数不能超过k座,谁搬最后一座谁输. 游戏开始时,计算机请人输入山的总 ...

  3. C语言学习教程:搬山游戏开发源码

    C语言学习教程:搬山游戏开发源码 #include<stdio.h> void main() {int n,k,x,y,cc,pc,g;clrscr();puts("****** ...

  4. 100个python算法超详细讲解:搬山游戏

    [100个python算法超详细讲解]@谷歌学术 1.问题描述 设有n座山,计算机与人作为比赛的双方,轮流搬山.规定每次搬 山数不能超过k座,谁搬最后一座谁输.游戏开始时,计算机请人输入 山的总数n和 ...

  5. C语言实现搬山游戏,附上代码及解析

    问题描述 设有n座山,计算机与人作为比赛的双方,轮流搬山.规定每次搬山数不能超过k座,谁搬最后一座淮输.游戏开始时,计算机请人输入山的总数n和每次允许搬山的最大数k,然后请人开始,等人输入了需要搬走的 ...

  6. c语言搬山游戏,C语言实例:搬山游戏

    您可能感兴趣的话题: C语言 核心提示:设有n座山,计算机与人为比赛的双方,轮流搬山.规定每次搬山的数止不能超 过k座,谁搬最后一座谁输. 设有n座山,计算机与人为比赛的双方,轮流搬山.规定每次搬山的 ...

  7. 家用电脑配置_游戏搬砖必看教程,游戏工作室电脑如何配置

    文章只针对新手对电脑硬件配置了解,大佬可直接关闭,电脑如何配置只代表个人观点! 想游戏搬砖赚钱,资金方面也有这个能力的小伙伴可能对手机开那么几个号无法满足,那么今天要说的就是如何利用电脑多开,来达到利 ...

  8. CSGO/steam游戏搬砖项目入行前必看知识点汇总(一)

    CSGO/steam游戏搬砖项目入行前必看知识点汇总(一) CSGO武器皮肤的入门级知识点,入行前一定要看 CSGO武器皮肤有什么用以及如何分类?有多少人已经彻底搞清楚了这个问题?今天这篇文章是专为新 ...

  9. 想驯服上古神兽吗?VR游戏《山海猎人》已登陆Viveport

    这款游戏以东方末日为题材,<山海经>中的奇异鸟兽.山川湖泊幻化其中. 打僵尸类VR游戏玩腻了,找不到具有新意的游戏IP,不妨试一试今天登陆Viveport的一款游戏--<山海猎人&g ...

最新文章

  1. c语言枚举3位数相加等于10,C语言 联合和枚举
  2. 2018-1-20:左移和右移运算以及和(无符号右移)的区别以及位运算的小题目...
  3. 使用PySpark搭建机器学习模型
  4. SQL 单一用户(解决)
  5. 米家zigbee传感器抓包_如果有一代,米家人体传感器2值得你去更换吗?
  6. iOS APP网络分析之rvictl(可以捕捉除了Wifi以外的网络类型)
  7. mySql学习笔记:比sql server书写要简单
  8. 视频编解码(十四):机顶盒调试编解码器显示总结
  9. python统计合格数_python—基本统计值计算
  10. 算法与数据结构面试题(6)-腾讯面试题
  11. 成长型思维——人不成熟的五大特征和高效能人士的七个习惯
  12. 用selenium验证唯品会登录
  13. 江城武汉,一座离开后会怀念的城市
  14. LeetCode-179
  15. 2022年护士考试知识强化巩固习题及答案
  16. 新手怎么开通抖音小店?详细操作步骤分享,建议收藏
  17. 2022年了,虚拟内存还是那个虚拟内存吗?
  18. 小甲鱼Python学习笔记之魔法方法
  19. java实现简单的银行存款取款系统
  20. Tensorflow应用之LSTM

热门文章

  1. 小数化分数 思路及代码模板 c++实现
  2. python简单爬虫
  3. 利用SMTP协议实现邮件的发送(以163和qq邮箱为例)
  4. 4维俄罗斯方块 java,课内资源 - 基于Easyx插件的俄罗斯方块游戏的设计与实现
  5. 大数据处理技术之数据集成
  6. 2019最全大数据学习资源整理(值得收藏)
  7. 外呼系统——外呼中心
  8. 使用脚本配置odbc mysql_LoadRunner利用ODBC编写MySql脚本
  9. emd 消除端点效应 matlab代码,对五种改善EMD端点效应的方法进行分析
  10. 服务器上Ubuntu系统的java依赖安装