
算法训练
恰恰兄
小菜加油,早日秃头
展开
-
(C++)机器人指令
10back -9left 3left 8back 15right 10right -7right -3left 11right 17left 3原创 2020-03-18 01:34:57 · 2971 阅读 · 0 评论 -
(C语言)三天打鱼两天晒网问题
题目描述中国有句俗语叫“三天打鱼两天晒网”,某人从2010年1月1日起开始“三天打鱼两天晒网”,问这个人在以后的某一天中是“打鱼”还是“晒网”?分析解题过程可分为三步:1)计算从2010年1月1日开始至指定日期共多少天2)由于“打鱼”和“晒网”的周期为5天,所以将计算出的天数用5去除3)根据余数判断他是在“打鱼”还是在“晒网”;若 余数为1,2,3,则他是在"打鱼",否...原创 2019-03-02 15:53:44 · 12997 阅读 · 0 评论 -
(C语言)求最大公约数续篇-N个数的最大公约数和最小公倍数
之前曾经介绍过求最大公约数的几种常见算法,在掌握了求两个数的最大公约数求法的基础上,就能够很容易求出N个数的最大公约数及最小公倍数了。题目描述求N个数的最大公约数和最小公倍数。问题分析求最大公约数的方法在这里不再赘述,具体可以参考之前求最大公约数算法归纳的博客。最大公约数和最小公倍数的关系:假设有a,b两个数,p,q分别是它们的最大公约数和最小公倍数,则有:q=(a*b)/p...原创 2019-03-22 15:26:12 · 1320 阅读 · 0 评论 -
(C++)Hankson的“逆问题”-逆解最大公约数
问题描述已知正整数a0,a1,b0,b1,设某未知正整数x满足:1、 x和a0的最大公约数是a1;2、 x和b0的最小公倍数是b1。Hankson的“逆问题”就是求出满足条件的正整数x。但稍这样的x并不唯一,甚至可能不存在,编程求解满足条件的x的个数。输入格式输入第一行为一个正整数n,表示有n组输入数据。接下来的n行每行一组输入数据,为四个正整数a0,a1,b0,b1,...原创 2019-03-23 09:44:34 · 734 阅读 · 2 评论 -
(C++)模拟图灵机-简单的UN+1和UN*2
问题描述对于任意给定的一台Turing机和任意给定的字符串w ( w不含空格),编程模拟此Turing机的运行过程,要求输出从开始运行起的每一步骤的结果。(本文模拟的是UN+1和UN*2的图灵机)问题分析注:1>默认初始内态为0。 2>颜色代表立场!红色代表当前内态,绿色代表新的内态,箭头两边为黑色1位的分别代表本位输入和本位输出。 3>...原创 2019-03-23 19:25:26 · 1862 阅读 · 0 评论 -
(C++)24点小游戏
题目描述24点游戏是经典的纸牌益智游戏,其游戏规则如下:从扑克中每次取出4张牌。使用加减乘除,第一个能得出24者为赢。(其中,J代表11,Q代表12,K代表13,A代表1),按要求编程解决24点游戏。基本要求:随机生成4个代表扑克牌牌面的数字字母,程序自动列出所有可能算出24的表达式 1.列出的表达式无重复提高要求:用户初始生命值为一给定值(比如3),初...原创 2019-04-14 21:11:41 · 778 阅读 · 0 评论 -
(c++)递归的运用 (赶鸭子 角谷定理)
递归是程序直接或间接调用自身的过程。首先了解递归模型:一个递归模型由递归出口和递归体两部分组成,递归出口确定递归到何时为止,递归体确定递归的方式。程序实例①赶鸭子一个人赶着鸭子去每个村庄卖,每经过一个村子卖去所赶鸭子的一半又一只。这样他经过了七个村子后还剩两只鸭子,问他出发时共赶多少只鸭子?经过每个村子卖出多少只鸭子?分析剩2只7村 (2+1)*2=66村 ...原创 2019-06-01 16:38:49 · 3149 阅读 · 0 评论 -
(c/c++)十进制转换任意进制数(递归和非递归)
题目描述将非负十进制整数n转换成b进制。(其中b=2~16)算法分析记住这个方法:对于进制转换类问题,就是不断的余b模b。(b代表进制数的基数)具体步骤:重复执行①和步骤②,直到n为0结束。①取b进制数的个位:求余运算n%b,把结果存入数组。②将10进制数降一阶:整除运算n=n/b。③逆序输出数组元素。如果数组元素小于10,照原样输出;如果数组元素大于等于10,输出其相应的符...原创 2019-06-08 10:20:44 · 12662 阅读 · 0 评论