C ++
 Computer >> コンピューター >  >> プログラミング >> C ++

2つのシリーズの最初の衝突点を見つけるC++プログラム


この記事では、最初の衝突点、つまり両方のシリーズが持つ最初の点を見つけるプログラムについて説明します。

この場合、5つの変数「a」、「b」、「c」、「d」、および「n」が与えられます。それぞれn桁のこれらから2つの等差数列を作成する必要があります

b, b+a, b+2a, ….b+(n-1)a
d, d+c, d+2c, ….. d+(n-1)c

そして、与えられたシリーズの両方が持っている最初の共通点を見つけます。

これを解決するために、最初のシリーズで番号を作成します。そして、各数値について、それが2番目のシリーズの最初の数値以上であるかどうか、またその数値と「d」の差がcで割り切れるかどうかを確認します。それが両方の条件を満たしている場合、最初のシリーズの現在の数よりも結果になります。

#include<bits/stdc++.h>
using namespace std;
void calc_series(int a, int b, int c, int d, int n) {
   int x , flag = 0;
   //creating the numbers of first series
   for (int i = 0; i < n; i++) {
      x = b + i * a;
      //checking if it exists in second series
      if ((x - d) % c == 0 and x - d >= 0){
         cout << "First collision point : "<< x << endl;
         flag = 1;
         break;
      }
   }
   if(flag == 0) {
      cout << "No collision point exists" << endl;
   }
}
int main() {
   int a = 16;
   int b = 9;
   int c = 23;
   int d = 19;
   int n = 78;
   calc_series(a, b, c, d, n);
   return 0;
}

出力

First collision point : 249

  1. シリーズ3、5、33、35、53のN番目の項をC++で検索するプログラム

    このチュートリアルでは、シリーズ3、5、33、35、53のN番目の用語を見つけるプログラムについて説明します… このために、番号が提供されます。私たちの仕事は、その特定の位置で特定のシリーズの用語を見つけることです。 例 #include <bits/stdc++.h> using namespace std; //finding the nth term in the series int printNthElement(int n){    int arr[n + 1];    arr[1] = 3;    arr[

  2. グラフ内の2つのノード間のパスを見つけるC++プログラム

    このプログラムでは、特定のグラフでDFSを使用して、2つのノード間にパスが存在するかどうかを確認できます。 アルゴリズム Begin    function isReach() is a recursive function to check whether d is reachable to s :    A) Mark all the vertices as unvisited.    B) Mark the current node as visited and enqueue it and it will be used to