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

C++の特定の範囲でAまたはBの約数の合計をカウントします


4つの整数L、R、A、Bが与えられます。目標は、AまたはB、あるいはその両方を完全に分割する範囲[L、R]の数値の数を見つけることです。

これを行うには、LからRにトラバースし、数値ごとにnumber%A ==0またはnumber%B ==0の場合、除数のカウントをインクリメントします。

例を挙げて理解しましょう。

入力 − L =10、R =15、A =4、B =3

出力 −AまたはBの約数の数− 2

説明

Number 12 is fully divisible by 3 and 4.
Number 15 is fully divisible by 3 only.
Total divisors=2

入力 − L =20、R =30、A =17、B =19

出力 − AまたはBの約数の数− 0

説明 − AまたはB、あるいはその両方で完全に割り切れる20から30までの数字はありません。

以下のプログラムで使用されているアプローチは次のとおりです

  • 4つの変数A、B、L、Rを取りました。

  • 関数countDivisors(int l、int r、int a、int b)はすべてを入力として受け取り、範囲[L、R]にあるAまたはB、あるいはその両方の除数を返します。

  • 初期カウントを0とします。

  • i=Lからi=Rまで、i%a ==0またはi%b==0の増分カウントの場合。

  • ループの終わりに、AまたはBの約数としてカウントします。

  • 結果としてカウントを返します。

#include <bits/stdc++.h>
using namespace std;
int countDivisors(int l, int r, int a,int b){
   int count = 0;
   for (int i = l; i <= r; i++){
      if(i%a==0 || i%b==0)
         { count++ ; }
   }
   return count;
}
int main(){
   int L=5;
   int R=15;
   int A=2;
   int B=5;
   cout <<endl<< "Total divisors of A and B : "<<countDivisors(L,R,A,B);
   return 0;
}

出力

上記のコードを実行すると、次の出力が生成されます-

Total divisors of A and B : 7

  1. C++の特定の文字列内のすべてのパリンドロームサブシーケンスをカウントします

    このチュートリアルでは、特定の文字列内のすべてのパリンドロームサブシーケンスの数を見つけるプログラムについて説明します。 このために、文字列が提供されます。私たちのタスクは、その特定の文字列で作成できるパリンドロームサブシーケンスの数を見つけることです。 例 #include<iostream> #include<cstring> using namespace std; //returning total palindromic sequence int count_palin(string str){    int N = str.length

  2. C++で指定されたXORを持つすべてのペアをカウントします

    このチュートリアルでは、指定されたXORのペアの数を見つけるプログラムについて説明します。 このために、配列と値が提供されます。私たちのタスクは、XORが指定された値に等しいペアの数を見つけることです。 例 #include<bits/stdc++.h> using namespace std; //returning the number of pairs //having XOR equal to given value int count_pair(int arr[], int n, int x){    int result = 0;   &