Tabelle erzeugen

Gast #2554130
Lesenswert?

Hallo, ich sitze vor folgender Aufgabe:
Schreiben Sie ein Programm, das eine Tabelle erzeugt, in der vorne die
Zahl n steht und hinten die Liste aller Teiler von n. die Tabelle soll
für die Zahlen von 2 bis 100 erstellt werden.

Die Programmiersprache ist C

Kann mir einer sagen wie ich eine solche Tabelle erzeugen kann?
Die Teiler bekomme ich selbst hin!
Gast #2554341
Lesenswert?

äh..

alles als tabelle ausgeben sollte doch trivial sein..

...
9<tab>1,3,9
10<tab>1,2,5,10
11<tab>1,11
...

interessant ist dort doch eher welcher primzahlzerlegungsalgorithmus 
verwendet wird:
http://en.wikipedia.org/wiki/Integer_factorization
mit netten beispielen unten in den links

wenn du dir nen spass erlauben willst: gibt ne html tabelle aus mit 
<table><tr><td> etc ;D
#2554429
Lesenswert?

Hallo,

um einen Teiler auf "echten" Teiler zu testen gibt die modulo Funktion % 
, die den Rest einer Ganzzahldivision ausgibt.
Die kann man nicht sieben.
1
fuer alle zahlen n von 1..n mache {
2
  Ausgabe von n und Teiler 1
3
  Testzahl = n
4
  Fuer teiler von bis (teiler*teiler) <= Testzahl mache{
5
    rest = Testzahl % teiler;
6
    Falls rest = 0 -> Teiler gefunden{
7
      Ausgabe von teiler
8
      //64 hat nur 1,2,64 als Teiler   
9
      wiederhole{
10
        //Teile nun Testzahl durch teiler
11
        Testzahl = Testzahl % teiler;
12
        // solange dies ohne rest geht 
13
        ??? }
14
      }
15
    }
16
  Ausgabe von n
17
  Ausgabe Zeilenvorschub
18
  }
#2555067
Lesenswert?

Horst Hahn schrieb:
>       Ausgabe von teiler
>       //64 hat nur 1,2,64 als Teiler

In der Aufgabe steht nicht, dass nur alle Primteiler gesucht sind. Auch 
4, 8, 16 und 32 teilen 64.
Machs nicht komplizierter als es ist. Eine derartige Aufgabe ist 
normalerweise 1te oder 2te Unterrichtseinheit in Progammieren. Da geht 
es mehr um den Gebrauch von einfachen Schleifen und Ausgaben als von 
'komplexen' mathematischen Zusammenhängen.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren