![](https://img-blog.csdnimg.cn/direct/dd48b3fda6c14e34907290865b8c95a1.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
算法设计与分析-解决各类问题
算法设计与分析是大学的重要一门课程,认真学习算法设计有机会获得有关奖项,拓宽自己的编程眼界
码农joker
算法设计与数据结构的小能豆
展开
-
埃拉托色尼筛算法:最大公约数
n之间的素数全部找出来,逐个逐个测试出m,n中包含的公共素因子,将公共素因子相乘得到最大公约数。公共素因子乘积:Gcd(60,24)=2*2*3=12。计算两个正整数m,n的最大公约数。中学计算gcd(m,n)的算法。例如:找出不大于24的素数序列。由于:60=2*2*3*5。原创 2024-01-14 12:35:42 · 686 阅读 · 1 评论 -
连续整数检测算法:最大公约数问题
基于最大公约数的定义:同时整除两个整数的最大整数,显然不会大于两个整数的最小者。故令t=min{m,n},用t除以m,n ,如果能除尽,t是最大公约数;否则令t=t-1,继续尝试。printf("最大公约数为:%d",t);t=12同时除尽60,24,返回t值。printf("请输入两个整数:");计算两个正整数m,n的最大公约数。当t=24,无法整除60,24。例如:Gcd(60,24)=t=23,无法整除……t=22,无法整除……原创 2024-01-13 10:39:07 · 475 阅读 · 0 评论 -
算法设计:欧几里德算法求最大公约数问题
此时m=60,n=24;由于n不等于0,60/24=2……将n的值赋值给m,将r的值赋值给n,(m=24,n=12)。求m,n的最大公约数为问题,转化为求n和m除以n的余数的最大公约数问题,把问题转化,是递归定义的。Gcd(24,12);m=24,n=12。由于n不等于0,24/12=2。第一步:如果n=0,返回m的值作为结果,同时过程结束。第三部:将n的值赋值给m,将r的值赋值n返回第一步。第二步:m mod n,将余数赋值给r。计算两个正整数m,n的最大公约数。例如:Gcd(60,24)原创 2024-01-12 15:55:49 · 618 阅读 · 0 评论 -
算法设计:鸭兔同笼问题
策略2:x只鸭子,让鸭子和兔子抬脚等抬到2只时鸭子没有脚了,剩余的都是兔子的脚。比较不同策略的差异,策略二减少时间复杂度,针对不同的策略会导致步骤难易程度不一样。策略1:x只兔子,y只鸭子,x+y=40;兔腿+鸭腿=100条,问多少只兔子,多少只鸭子?printf("鸭子的数量为:%d\n",x);printf("兔子的数量为:%d", y);printf("兔子有%d只\n", x);printf("鸭子有%d只", y);兔子头+鸭子头=40只。原创 2024-01-12 12:42:28 · 494 阅读 · 1 评论