C++初级算法第二天

作者: 权的小树洞 | 来源:发表于2019-03-10 21:12 被阅读112次

    大家好!

    今天我们来学习第二天的算法,很高兴第一天的文章有几位同学喜欢,希望能够继续支持我!

    我会坚持将这一个专栏继续写下去的

    好了,现在就来学习今天的第一个算法:

    <一>

    题目:青蛙王子

    一个王子被巫师诅咒,变成了一只青蛙。500年后的一天,青蛙王子碰到了一个仙女,仙女告诉他,

    如果他能通过一个简单的测试,她就能帮他解除诅咒。测试是这样子的,

    仙女要青蛙王子在一条直线上跳跃(青蛙王子最开始站在坐标为0的地方),

    但只能按照她给定的两种长度跳跃(假设这两种长度王子都能跳到),可以往前或者往后跳,

    如果能达到指定的地点,那么就通过测试;仙女给定的方式有多种,但有些是不可能满足达到指定地点的。

    请你帮帮可怜的青蛙王子,寻找出那些可以完成测试的跳跃方式。

    分析:我们输入三个正整数,模拟青蛙王子的条约规则,满足条件则输出YES,否则输出NO,输入三个0表示结束


    源代码图

    以上就是实现青蛙王子的代码实现部分,在代码的顶部,我们定义了五个变量,分别存储了青蛙的跳跃距离a,b和路程c,中间变量temp,和用于存储最小变量的min


    两个while来判断数据,先开始对数据的处理,后跳出内部的循环,将判断的结果输出

    <二>

    题目:海明距离

    海明距离是在指二进制情况下,一个整数变成另外一个整数需要翻转的位数。比如2转换到3需要翻转1位,所以2到3的海明距离是1。给你两个正整数x和y,(x,y<=1,000,000,000),求它们的海明距离。

    分析:把两个十进制数字转化成对应的二进制数字,然后比较,若是不同,则K+1,最后我们输出结果K

    源代码图

    <三>

    题目:素数判断

    给一个int类型的数据,判定他是否为素数。

    分析:利用穷举法,判定是否素数

    源代码图

    这个算法的实现其实很简单,我们先定义了两个变量,一个用来存储输入的数据,一个用来遍历数据到2之间的距离。

    我们在遍历的数字中寻找是否部分和素数的条件,一旦条件成立,我们就跳出循环,在循环体外判断是否为素数,如果是素数,遍历会完全的运行,b==i就,等于输入的数据为素数

    相关文章

      网友评论

        本文标题:C++初级算法第二天

        本文链接:https://www.haomeiwen.com/subject/bgfppqtx.html