番号はすべての要因の合計が含まれていない自分自身とまったく同じである場合は、この番号は、「彼らを数える」と呼ばれています。例えば、図6に示すように、2,3の因子、と6 + 2 + 3 = 1、6 "は、それらを数える。" ことです 以下のすべての要因に従ってN、それらの出力のフォーマット内に完了見つけるためにプログラムされた数

1017年問題:裁判官[プログラミングエントリ]完成の数

制限時間:1秒メモリ制限:128MBの提出:9159解像度:4243

タイトル説明

番号はすべての要因の合計が含まれていない自分自身とまったく同じである場合は、この番号は、「彼らを数える」と呼ばれています。例えば、図6に示すように、2,3の因子、と6 + 2 + 3 = 1、6 "は、それらを数える。" ことです 以下のすべての要因に従ってN、それらの出力のフォーマット内に完了見つけるためにプログラムされた数

エントリー

N

輸出

その要因は?

サンプル入力
1000年
サンプル出力
要因はITSである1 2 3 6。
28 1は、因子である4 7 14 2。
496 2. 4. 1は、その要因である8 124 248 16 31 62である。 
コードは何から離れ。

インポートjava.util.Scanner;
輸入いるjava.math *。;
パブリッククラスメイン{
パブリック静的無効メイン(文字列[] args){
  =新しいスキャナスキャナ(System.in)。
  INT、N = in.nextInt()。

   //ループ各番号
  (INT I = 1; I <= N; I ++は)用{
  int型SUM = 0;
  のための(INT J = 1; J <= I / 2、J ++){
  //最大数のこの因子は、半分以上の数ではない
  IF(%I J == 0)
  ; SUM = J +
}

   //因子を決定し、出力に等しい場合の数字は、等しいかどうかを
  IF(SUM == I){
    System.out.printf(I + "" + "は" + "" + "因子" + "" + "あります"+"「);

     サイクル数//エンドエンドが各因子の数を出力
    するための(INT 1 = K; K <= I / 2; ++ K){
    (SUMの%のK == 0){IF
    System.out.printf(「%D 」、K);
}
}
  のSystem.out.println();

}
}
}
}

 

おすすめ

転載: www.cnblogs.com/xuesujun/p/11225192.html