ブラインドデート少数の親密な数、迷いトラバースピットを行っていません!!

親密な[数値は、
2500年前、数学者ピタゴラスは、二つの数220と284の間に素晴らしいの接続があることを発見:
+ 2 1 + 4 + 5 + 10 + 11 +:220本当の要因は、の合計です20 + 22 + 44 + 55 + 110 = 284
284の実際の要因となる:1 + 2 + 4 + 71 + 142 = 220
ピタゴラスそのような数字の数は、ブラインドと呼ばれます。友愛数とも呼ばれる密接番号、Bに等しく、Bは全て(B内にない含む、1を含む)の整数因子である(A自体は含まない、1を含む)のすべての要素は、その後、Aに等しい場合、整数A整数AとBが近いと呼ばれます。
nは任意のキーボード入力、すべて閉じ少ない数n個の出力より、プログラム計算及び整数。
出力の親密な数の一組に一度だけ、前に小さい1。

#include <stdio.h>
int main ( )
{
   
    int n,B;
    printf("Input n:\n");
    scanf("%d",&n);
   
    for ( B = 1; B <= n; B++)
    {
        int b = 0,a = 0;
        for (int i = 1; i<B; i++) {
            if (B % i == 0)  b+=i;
            
        }
         //变化的地方!!可以减少找A的真因子的步骤
        if(B == b||B < b ) continue;
  
        for (int j = 1; j < b ; j++) {
            if (b%j==0 )
                a+=j;
        }
     
        if (a == B ) {
            printf("(%d,%d)\n",B,b);
        }
        
       
    }
公開された18元の記事 ウォンの賞賛0 ビュー201

おすすめ

転載: blog.csdn.net/weixin_46456339/article/details/105243150
おすすめ