102.搬山游戏

简介: 102.搬山游戏
#include<stdio.h>
void main()
{
   int n,k,x,y,cc,pc,g;
   clrscr();
   puts("*******************************************************");
   puts("*            This is a Mountain Moveing Game.         *");
   puts("* There are n mountains, two persons move them in     *");
   puts("* turn. Each one each time moves 1 to k mountains, the*");
   puts("* one who takes the last stick will lose the game.    *");
   puts("*******************************************************");
   printf(" >> --------------- Game Begin ---------------------\n");
   pc=cc=0;
   g=1;
   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 move ? ");
      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(" >> Copmputer 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(" >> You score is win %d,lose %d.\n",pc,cc);
   printf(" >> My score is win %d,lose %d.\n",cc,pc);
   printf(" >> --------------- Game Over! ---------------------\n");
   printf("\n Press any key to quit...");
   getch();
}
相关文章
|
数据可视化 计算机视觉
ICCV2021 | TOOD:任务对齐的单阶段目标检测
单阶段目标检测通常通过优化目标分类和定位两个子任务来实现,使用具有两个平行分支的头部,这可能会导致两个任务之间的预测出现一定程度的空间错位。本文提出了一种任务对齐的一阶段目标检测(TOOD),它以基于学习的方式显式地对齐这两个任务。
ICCV2021 | TOOD:任务对齐的单阶段目标检测
|
运维 前端开发 安全
Java应用结构规范
在Java程序开发中,命名和应用分层无疑是广大后端同胞的两大“痛点”,本文提供一种基于领域模型的轻量级应用分层结构设计,供大家参考。下面按分层结构、分层明细、调用关系、各层规范和通用代码工具展开介绍。
Java应用结构规范
|
6月前
|
存储 缓存 开发工具
HarmonyOS Next~HarmonyOS应用开发工具之AppGallery Connect
AppGallery Connect(AGC)是华为为HarmonyOS开发者提供的全生命周期服务平台,支持开发、测试、上架到运营全流程。其核心功能包括应用分发、云数据库、认证服务和云函数等,助力开发者提升效率、缩短开发周期。AGC采用分层架构设计,集成40+云端服务能力,覆盖170+国家/地区,支持全球化业务拓展。通过事件跟踪、异常监控等工具,帮助开发者优化性能与用户体验。未来,AGC将引入低代码开发、增强现实等新能力,助力构建高质量HarmonyOS应用。
326 4
|
10月前
|
Oracle 安全 Java
深入理解Java生态:JDK与JVM的区分与协作
Java作为一种广泛使用的编程语言,其生态中有两个核心组件:JDK(Java Development Kit)和JVM(Java Virtual Machine)。本文将深入探讨这两个组件的区别、联系以及它们在Java开发和运行中的作用。
361 1
|
12月前
|
存储 开发工具 Android开发
使用.NET MAUI开发第一个安卓APP
【9月更文挑战第24天】使用.NET MAUI开发首个安卓APP需完成以下步骤:首先,安装Visual Studio 2022并勾选“.NET Multi-platform App UI development”工作负载;接着,安装Android SDK。然后,创建新项目时选择“.NET Multi-platform App (MAUI)”模板,并仅针对Android平台进行配置。了解项目结构,包括`.csproj`配置文件、`Properties`配置文件夹、平台特定代码及共享代码等。
940 2
|
安全 前端开发 Java
微服务网关及其配置
微服务网关及其配置
469 12
|
JavaScript Windows
Node Sass could not find a binding for your current environment: Windows 64-bit with Node.js 1x.x
Node Sass could not find a binding for your current environment: Windows 64-bit with Node.js 1x.x
348 0
|
Oracle 关系型数据库 MySQL
实时计算 Flink版产品使用问题之在从SQLServer捕获数据变更(CDC)时,开启CDC功能后对应的表中没有记录变化数据,是什么原因
实时计算Flink版作为一种强大的流处理和批处理统一的计算框架,广泛应用于各种需要实时数据处理和分析的场景。实时计算Flink版通常结合SQL接口、DataStream API、以及与上下游数据源和存储系统的丰富连接器,提供了一套全面的解决方案,以应对各种实时计算需求。其低延迟、高吞吐、容错性强的特点,使其成为众多企业和组织实时数据处理首选的技术平台。以下是实时计算Flink版的一些典型使用合集。
|
人工智能 关系型数据库 数据库
PostgreSQL 常见问题解决方案 - ERROR: database is being accessed by other users
PostgreSQL 常见问题解决方案 - ERROR: database is being accessed by other users