
算法
偶尔不咸鱼一下
我有一条小鱼干
这个作者很懒,什么都没留下…
展开
-
人机对战的猜拳游戏,用户通过输 入(1.剪刀 2.石头 3.布),机器随机生成(1.剪刀 2.石头 3.布),胜者积分, n 局以后通过积分的多少判定胜负。
看到题目后可以发现这题并不算太难,在思考解题方法之前就可以先把总体的框架写出来了,比如:进行游戏的次数,机器随机生成的范围已经用户所能输入的东西。如图所示:这个时候我们就可以新建一个类,开始具体的操作了。首先是电脑,因为电脑只能“剪刀”、“石头”、“布”其中一个,所以我们就设立一个将范围限制在3个的随机数,并使用选择语句,让其每一个数字都对应一个结果,并在控制板中输出电脑随机出来的数字所对应的结果的同时将随机的数字存储在n中备用,如图所示:同理,使用选择语句识别用户输入的内容,因为用户不同于机器,所原创 2020-09-02 00:25:49 · 1799 阅读 · 0 评论 -
n个人围成一圈,顺序排号。从第一个人开始报数(从 1 到 3 报数), 凡报到 3 的人退出圈子,剩下的人继续报数,最后留下的人是原来的第几位
首先,题目中说有n个人进行排序,这就表示n应该是一个可以控制的变量,也就是由用户输入的变量;其次,题目还说“凡报到 3 的人退出圈子”,这就表示每触发这个条件都会有一个特定的人被淘汰,那么我们就可以先建立一个长度为n的boolean的数组,通过下标来进行淘汰操作,如下图:将新建立的arr数组中的元素全部设立为true,,当遇到报到3的人的时候通过下标,将false赋值给当前这个人的位置,如下图最后,再通过循环和下标来找出最后剩下人最开始的序号,如下图总结: 这道题目对于目前的我来说虽然是有一定难度的原创 2020-08-01 17:22:36 · 916 阅读 · 0 评论 -
定义整型变量 a、b,写出将 a、b 两个变量值进行互换的程序 (要求不能使用第三个变量)
说实话,刚开始看到这题的时候我愣了一下,因为在学校里刚开始上手做程序的时候除了“Hello World!”以外,第一个应该就是变量a,b值的交换了。交换变量a,b的值其实思路很简单,就是定义一个额外的变量c,通过让c起一个过渡的作用来达到让a,b的值交换的结果。如下图:最终得到结果:这种方法的原理就像是交换两个杯子中的水,需要第三杯子作为载体才能实现但我们如何在题目明确要求不能使用第三个变量的情况下实现两个变量值的交换呢?首先,我们先要跳出杯中水的思维,明白a,b是两个被存储在内存中的整型原创 2020-07-18 13:08:45 · 7816 阅读 · 0 评论