算法C++部落算法编程

C++初级算法第二天

2019-03-10  本文已影响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就,等于输入的数据为素数

上一篇下一篇

猜你喜欢

热点阅读