# Primfaktorzerlegung



## Guest (11. Mrz 2007)

```
import herdt_util.*;

public class Primfaktorzerlegung
{

  public static void main (String[] args)
  {
   int zahl, i;
   
   zahl=StdInput.readInt("Zahl:");

     for(i=2;i<=zahl;i++)
     {
      while(zahl%i==0)
      {
       zahl=zahl/i;
       System.out.print("  "+i);
      }
     }
  }
}
```

tach
der name sagt ja schon alles über die funktion des programms. es funktioniert auch einwandfrei. nur ich weiss nicht warum es funktioniert. könnte mir jemand das so erklären, dass ich es auch meinem lehrer erklären könnte??

MfG
NaBoun


----------



## Guest (11. Mrz 2007)

kann mir keiner helfen??


----------



## Marco13 (11. Mrz 2007)

Es werden der Reihe nach (aufsteigend!!!) alle möglichen Teiler der Zahl durchprobiert, und wenn man einen Teiler gefunden hat (d.h. eine Zahl, die die vorgegebene Zahl ohne Rest teilt) dann wird die Zahl so oft durch diesen Teiler geteilt, wie es geht. Am Ende sind das die Primfaktoren, weil, wenn ein Teiler KEINE Primzahl wäre, wären ja die Faktoren des Teilers vorher schon als Teiler verwendet worden. Hm.


----------

