# Primfaktoren Zerlegung



## Der Schuh (18. Nov 2007)

Hallo ih da,

Hab grad was neues in Java gelernt und jetz muss ich daraus ein programm für primfaktorzerlegung schreiben.

Es darf aus while, for, do-while, int, long und so was bestehen. Also höherse darf ich nicht verwenden.

Blcik da echt nicht durch.    


PS: danke schon mal.


----------



## Gast (18. Nov 2007)

% ? ?


----------



## Der Schuh (18. Nov 2007)

Gast hat gesagt.:
			
		

> % ? ?



ähhh????  Was soll das?


----------



## Gast (18. Nov 2007)

%
Darfst du modulo benutzen ?
?
Darfst du einen Tertiäroperator benutzen ?


----------



## musiKk (18. Nov 2007)

http://de.wikipedia.org/wiki/Faktorisierungsverfahren

Viele verschiedene Moeglichkeiten und Beispiele sind auch dabei.


----------



## Der Schuh (18. Nov 2007)

Ich darf Modulo benutzen ja

das ? nicht


----------



## Gast (18. Nov 2007)

```
int produkt = najaDuweisstSchon;
int temp = 2;
while(produkt>1){
while(produkt % temp == 0){
produkt = produkt / temp;
System.out.print(temp +" * ");
}
temp++;
}
System.out.print(1);
```


----------



## Guest (18. Nov 2007)

Gast hat gesagt.:
			
		

> ```
> int produkt = najaDuweisstSchon;
> int temp = 2;
> while(produkt>1){
> ...




Ehrlich gesagt, versteh ich gar nix:

Hab lange nachgedacht mit meinem Cousin(in meiner Klasse) und wir hams nicht gerafft. 

1. In dem Code lest es nichts ein.
2. Wir programmieren mit BlueJ.
3. hab keine Ahnung was int produnkt, int temp; ist.
4. Häää.


brauche ne Bestrafung für Dummheit

xD

Danke


----------



## Gast (18. Nov 2007)

Wie liest du denn in bluej etwas ein?

Variablen kennst du aber schon int, long und so.
produkt ist eine Variabel. Najaduweisstschon ist ein platzhalter, da kannst du dann deine Zahl die du zerlegen möchtest direkt eintragen. Also ohne einlesen. Und kannst sie der Variabel produkt zuweisen.
2 ist die kleinste Primzahl, bei der es sinn macht, zutesten, ob diese ein Faktor von deinem Produkt ist.
temp ist die Variabel die so einen Faktor repräsentiert. temp wird von Zeit zu Zeit auch erhöht.

Mit System.out.print kannst du etwas auf der Konsole ausgeben.


----------



## Der Schuh (20. Nov 2007)

Lösung gefunden:

int eing, i;


Out.println("Geben Sie eine Zahl ein");
eing = In.readInt();

for(i = 2; eing >= i; i++)
{
while(eing % i == 0)
{
eing = eing / i;
Out.println(i);
}
}

}
}

Danke


----------

