找出给定数字是否出现在 C++ 的无穷数列中


假设我们有三个整数 a、b 和 c。假设一个无穷数列中,a 是第 1 项,c 是公差。我们必须检查 b 是否存在于该数列中。假设 a = 1、b = 7、c = 3,那么序列将为 1、4、7、10,…,因此 7 存在于序列中,因此输出将为“是”。

要解决这个问题,我们必须遵循以下两个步骤 -

  • 当 c = 0 且 a = b 时,打印“是”,如果 a 不等于 b,则返回“否”

  • 当 c > 0 时,对于任意非负整数 k,方程 b = a + k*c 必须成立。因此 (b-a)/c 将是一个非负整数。

例如

 实时演示

#include<iostream>
using namespace std;
void isBInSequence(int a, int b, int c){
   if (a == b)
      cout << "Yes";
   if ((b - a) * c > 0 && (b - a) % c == 0)
      cout << "Yes";
   else
      cout << "No";
}
int main() {
   int a = 1, b = 7, c = 3;
   cout << "The answer is: ";
   isBInSequence(a, b, c);
}

输出

The answer is: Yes

更新于: 19-Dec-2019

190 次浏览

启动您的 职业生涯

完成课程,获得认证

开始
广告