找出给定数字是否出现在 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
广告