【算法作业】实验一:轮流报数与鸡兔同笼
@[TOC]
第一题:轮流报数
1.题目
有 5 个人 A,B,C,D,E 玩一个游戏,规则如下:从 1 开始 5 人轮流报数,如果遇到 7 的倍数或者含有 7 的数字则跳过.当报完 N 个数后(不包括跳过的数)结束游戏。统计游戏中每个人各跳过了几个数。输入:输入一行,包含一个正整数 N 输出:输出 6 行,前 5 行每行有一个整数,表示 A,B,C,D,E 在游戏中跳过了的数的个数。第 6 行一个整数表示游戏结束时最后一个报的数样例 1 输入 20 样例 1 输出 1201024 样例解析游戏过程为:A:1,B:2,C:3,D:4,E:5A:6,B:跳过,C:8,D:9,E:10A:11,B:12,C:13,D:跳过,E:15A:16,B:跳过,C:18,D:19,E:20A:跳过,B:22,C:23,D:24D 报出 24 后,5 个人总共报了 20 个数,游戏结束。其中 A 跳过 1 次,B 跳过 2 次,C 没有跳过,D 跳过 1 次,E 没有跳过最后一次报的数是 24
2.算法分析
直接模拟报数的过程即可。检查数字是否含有 7 可能有一点小小的麻烦,因此另外用了一个函数来实现这个功能。
3.代码实现
4.成功通过
第二题:鸡兔同笼
1.题目
一个笼子里面关了鸡和兔子(鸡有 2 只脚,兔子有 4 只脚,没有例外)。已经知道了笼子里面脚的总数 a,问笼子里面至少有多少只动物,至多有多少只动物。输入一行,一个正整数 a (a < 32768)。输出一行,包含两个正整数,第一个是最少的动物数,第二个是最多的动物数,两个正整数用一个空格分开。如果没有满足要求的答案,则输出两个 0,中间用一个空格分开。样例输入:20 样例输出:5 10
2.算法分析
注意如果脚的数量不是 4 的倍数,则无法全为兔子。
3.代码实现
4.运行结果
个人主页:CSDN清风莫追
推荐一款面试、刷题神器牛客网:👉点击加入刷题大军👈
感谢阅读
版权声明: 本文为 InfoQ 作者【清风莫追】的原创文章。
原文链接:【http://xie.infoq.cn/article/2145457a929ea399997d98d15】。文章转载请联系作者。
评论