2017-08-26 14 views
-2

これは私のコードで、出力を生成していません。私は100からループを開始したので、使用されたロジックに従って、私は153として答えを得なければなりません。しかし、何も来ていません。助けてください。Armstrong number in Java

// Program to find the first Angstrom Number and display it! 
public static void main(String[] args) { 
    int sum = 0; 
    int y, z; 
    System.out.println("Starting program"); 

    for (int i = 100; i < 1000; i++) { 
     sum += (i % 10) * (i % 10) * (i % 10); 
     y = i/10; 
     sum += (y % 10) * (y % 10) * (y % 10); 
     z = y/10; 
     sum += z * z * z; 
     if (sum == i) { 
      System.out.println("The first Angstrom number is " + i); 
      break; 
     } 
    } 
} 
+5

あなたはアームストロングの番号を意味しましたか? – uguboz

+0

@ugubozオングストロームはそれらの代替名のようです。確かに、初めての自分のことをアームストロングという名前で聞いたことがありますが、私はあらかじめオングストロームの番号を知っていました。 – cst1992

+0

特別な数字のシステムが使われている場合にのみ発生する数字で "奇妙"を考えることは、666が邪悪な数字であるという "意見"のように重要です。 –

答えて

2

あなたはすべてのステップで合計をリセットする必要があります。

for (int i = 100; i < 1000; i++) { 
    sum = 0; 
    sum += (i%10) * (i%10) * (i%10); 
    .... 
} 
+1

またはループ内で宣言してください。 –