找出給定數字是否出現在 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 次瀏覽

啟動您的 職業生涯

完成課程,獲得認證

開始
廣告