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

C++での合計で割り切れるProductを使用して1からNまでの数値のペアをカウントします


数Nが与えられます。目標は、ペアの積がペアの合計に等しくなるように、1からNまでの数のペアを見つけることです。

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

入力 − n =11

出力 −のペアの数。合計で割り切れる積を含む1からNまでは-1

説明 −数値3と6の積は18であり、それらの合計9は18を完全に除算します。

入力 − n =30

出力 −のペアの数。合計で割り切れる積を含む1からNまでは-12

説明 −ペアは−(3、6)、(4,12)、(5、20)、(6、12)、(6、30)、(8、24)、(9、18)、(10、15 )、(12、24)、(15、30)、(20、30)、(21、28)

ペアの数-12

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

FORループを2回使用して、1からNまでトラバースします。すべてについて、(i、j)の積が合計i+jで割り切れるようにjを検索します。 i!=jとなるようなsuci、jペアのインクリメントカウント。

  • 入力として数値Nを取ります。

  • 関数Sum_N(N)はNを取り、数値の積が数値の合計で割り切れるようなペアの数を返します。

  • i=1からiまでトラバースします

  • j =i+1からj<=Nへのトラバース。

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

  • iとjごとに、temp =(i * j)%(i + j)を計算します。

  • tempが0の場合、sumは積を完全に除算します。インクリメントカウント。

  • すべての反復が終了すると、カウントにはそのようなペアの総数が含まれます。

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

#include <bits/stdc++.h>
using namespace std;
int Sum_N(int N){
   int count = 0;
   for (int i = 1; i < N; i++){
      for (int j = i + 1; j <= N; j++){
         int temp = (j * i) % (j + i);
         if (!temp){
            count++;
         }
      }
   }
   return count;
}
int main(){
   int N = 20;
   cout<<"Count of pairs of numbers from 1 to N with Product divisible by their Sum are: "<<Sum_N(N);
   return 0;
}

出力

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

Count of pairs of numbers from 1 to N with Product divisible by their Sum are: 6

  1. C++で配列内の除算可能なペアをカウントします

    整数要素を含む任意のサイズの配列が与えられます。タスクは、ペアの1つの要素がペアの別の要素を分割するように、配列内のペアの数を計算することです。 配列は、同じタイプの要素の固定サイズの順次コレクションを格納できる一種のデータ構造です。配列はデータのコレクションを格納するために使用されますが、配列を同じタイプの変数のコレクションと考える方が便利な場合がよくあります。 例 Input − int arr[] = {1, 2, 3, 6} Output − count is 4 説明 −(1,2)、(1,3)、(1,6)、および(3,6)は、ペアの1つの要素が別の要素を分

  2. C++で一意の桁を持つ数を数える

    非負の整数nがあるとします。一意の数字xを持つすべての数値をカウントする必要があります。xは0〜10^nの範囲です。したがって、数値nが2の場合、11、22、33、44、55、66、77、88、99なしで0から100までの数値を検索するため、結果は91になります。 これを解決するには、次の手順に従います- nが0の場合、1を返します n:=最小10およびn nが1の場合、10を返します ans:=9およびret:=10 2からnの範囲のiの場合 ans:=ans *(9 – i + 2) ret:=ret + ans retを返す