查找给定数字是否存在于C ++中的无限序列中

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

为了解决这个问题,我们必须遵循以下两个步骤:

  • 当c = 0且a = b时,则打印yes;如果a与b不相同,则返回no

  • 当c> 0时,则对于任何非负整数k,该等式将为b = a + k * c。因此(ba)/ 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