1   /** 
2    * 183.592 Programmierpraxis TU Wien WS2014/15 H.Moritsch
3    * Ausgabe aller Zahlen zwischen 1 und n, die eine bestimmte
4    * Ziffernsumme z aufweisen
5    */
6   public class Ziffernsummentest {
7       public static void main(String[] args) {
8   
9           int n = 200;
10          int z = 13;
11  
12          int anzahl;         // zählt die gefundenen Zahlen
13          int i;              // zu testende Zahl
14  
15          int zahl;           
16          int summe;           
17          int ziffer;          
18  
19          // Vorbereitung der äußeren Schleife
20  
21          anzahl = 0;
22          i = 1;
23  
24          // äußere Schleife: für alle Zahlen kleiner oder gleich n:
25          while( i <= n ) {
26          
27              zahl = i;           
28  
29              // innere Schleife: Berechnung der Ziffernsumme
30              summe = 0;
31              while( zahl > 0 ) {
32                  ziffer = zahl % 10;
33                  summe  = summe + ziffer;
34                  zahl   = zahl / 10;
35              }
36  
37              // Zahl mit Ziffernsumme z gefunden    
38              if ( summe == z ) {
39                  System.out.println(i);                  
40                  anzahl = anzahl + 1;        // anzahl wird um 1 erhöht
41                  }
42  
43              i = i + 1;                      // die nächste zu testende Zahl 
44              
45          } // Ende äußere Schleife
46  
47      System.out.println(anzahl);
48   
49      }
50  
51  }
52