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

C++での数の因数の積


数値nが与えられた場合、そのすべての因子を見つけ、それらの因子の積を見つけて、結果、つまり数値の因子の積を返す必要があります。数の因数は、1を含む数を完全に除算できる数です。6の因数と同様に、-1、2、3、6です。

タスクに応じて、数のすべての要素を製品で見つける必要があります。

入力- n =18

出力- 5832

説明- 1 * 2 * 3 * 6 * 9 * 18 =5832

入力- n =9

出力- 27

説明- 1 * 3 * 9 =27

問題を解決するために以下で使用するアプローチは次のとおりです-

  • 入力番号を取得します。

  • i=1からi*i <=num

    までループします
  • num%i ==0かどうかを確認してから、確認してください

    • num%i ==iの場合、product =(product * i)%1e7

      の値を設定します。
    • それ以外の場合、製品を(product * i)%MAXとして設定し、製品を(product * num / i)%MAXとして設定します。

  • 製品を返品してください。

アルゴリズム

Start
In Function long long productfactor(int num)
   Step 1→ Declare and Initialize product as 1
   Step 2→ For i = 1 and i * i <= num and i++
      If num % i == 0 then,
      If num / i == i then,
         Set product as (product * i) % MAX
      Else
         Set product as (product * i) % MAX
         Set product as (product * num / i) % MAX
   Step 3→ Return product
In Function int main()
   Step 1→ Declare and initialize n as 9
   Step 2→ Print the result productfactor(n)
Stop

#include <stdio.h>
#define MAX 1000000000
// find the product of the factors
long long productfactor(int num){
   long long product = 1;
   for (int i = 1; i * i <= num; i++){
      if (num % i == 0){
         //equal factors should be multiplied only once
         if (num / i == i)
         product = (product * i) % MAX;
         // Else multiply both
         else {
            product = (product * i) % MAX;
            product = (product * num / i) % MAX;
         }
      }
   }
   return product;
}
int main(){
   int n = 9;
   printf("%lld\n", productfactor(n));
   return 0;
}

出力

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

27

  1. C++での質素な数

    この問題では、正の整数Nが与えられます。私たちのタスクは、与えられた数が質素な数であるかどうかをチェックするプログラムを作成することです。 不正な番号 −指定された数の素因数分解の桁数よりも厳密に桁数が多い数。 例 − 625、数625の素因数は5 4です。 。 625の桁数は3です。 5 4の桁数 は2です。 3は厳密に2より大きくなります。したがって、625は質素な数です。 最初のいくつかの質素な数は − 125、128、243、256、343、512、625など。 問題を理解するために例を見てみましょう Input: n = 128 Output: Frugal n

  2. C++五胞体数

    五胞体数は、パスカルの三角形の5番目の数として表されます。ご存知のように、これは5番目の数字です。つまり、パスカルの三角形に少なくとも5つの数字が必要です。したがって、このシリーズの最初の数字は 1 4 6 4 1から始まります。 パスカルの三角形の4行目。したがって、このチュートリアルでは、たとえば、n番目の五胞体数を見つける必要があります Input : 1 Output : 1 Input : 4 Output : 35 次の図から出力を確認できます- この問題については、可能な限り、これは一種のシリーズであるため、ソリューションでこのシリーズのパターンを見つけようと