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

Cの婚約数?


婚約数 は、で加算されたときの除数の合計が別の数と等しくなるように、2つの数のペアです。

たとえば、(a、b)は、s(a)=b + 1およびs(b)=a + 1の場合、婚約数のペアです。ここで、s(b)はbのアリコートの合計です。同等の条件は、σ (a)=σ(b)=a + b + 1、ここでσは除数の合計関数を示します。

婚約数の最初の数ペアは、(48、75)、(140、195)、(1050、1925)、(1575、1648)、(2024、2295)、(5775、6128)です。

婚約数のすべての既知のペアは、反対のパリティを持っています。同じパリティのペアは1010を超える必要があります。

アルゴリズム

Step 1: Find the sum of all divisors for both numbers.
Step 2: Finally check if the sum of the divisors of number added by one is equal to the other number or not.
Step 3: If yes, it is a Betrothed number and otherwise not.


Input:a = 48 b = 75
Output:
48 and 75 are Betrothed numbers

説明

48の約数:1、2、3、4、6、8、12、16、24。合計は76です。

75の約数:1、3、5、15、25。合計は49です。

forループを使用して、1からa-1までの各数値を確認します。

ループ内の各数値がaを除算できるかどうかを確認します。はいの場合、この番号をaDivisorSumに追加します。ループが完了した後、aDivisorSumにはaのすべての除数の合計が含まれます。

同様に、2番目の数値のすべての除数の合計を見つけて、bDivisorSumに保存します。

次に、1つの数値の除数の合計が、1を加算して、他の数値と等しいかどうかを確認します。はいの場合、両方が婚約数であることを印刷します。それ以外の場合はそうではありません。

#include <stdio.h>
int main() {
   int i;
   int a,b;
   int aDivisorSum = 0;
   int bDivisorSum = 0;
   a=48 ;
   b=75 ;
   for( i = 1; i < a; i++) {
      if(a % i == 0) {
         aDivisorSum = aDivisorSum + i;
      }
   }
   for( i = 1; i < b; i++) {
      if(b % i == 0) {
         bDivisorSum = bDivisorSum + i;
      }
   }
   if(( a+1== bDivisorSum) && (b+1 == aDivisorSum)) {
      printf("%d and %d are Betrothed numbers\n",a,b);
   } else {
      printf("%d and %d are not Betrothed numbers\n",a,b);
   }
}

出力

48 and 75 are not Betrothed numbers

  1. Cで数値列を賢く印刷するプログラム

    プログラムの説明 以下に示すように、自然数の列を賢く印刷します 1 2 6 3 7 10 4 8 11 13 5 9 12 14 15 アルゴリズム i stands for rows and j stands for columns. 5 stands for making pattern for 5 Rows and Columns Loop for each Row (i) K is initialized to i Loop for each Column (j) Do the Pattern for the current Column (j) Display the Value

  2. 非平方数をCで印刷する

    プログラムの説明 数の2乗は、その数にそれ自体を掛けたものです。 平方数または完全な正方形は、整数の2乗である整数です。 完全な平方は整数の平方です 1, 4, 9, 16, 25, 36, 49, 64, 81, 100 これが1から100までのすべての完全な平方の平方根です。 √1 = 1 since 12 = 1 √4 = 2 since 22 = 4 √9 = 3 since 32 = 9 √16 = 4 since 42 = 16 √25 = 5 since 52 = 25 √36 = 6 since 6