Euklid Programmieren
Euklid Programmieren
Also, ich benötige dringend eine Antwort:/
Problem;
ich bin am Anfang meines Medieninformatik Studiums und muss bis heute 14:00 ein Programm abgeben.
Ich hab n Mac, und die Programme Textwrangler und Ultra Edit mit denen ich nichts anfangen kann!
Ich stell euch mal die Aufgabenstellung vom Prof. und bitte euch mir zu helfen, am besten falls etwas was ich nur noch kopieren und einfügen brauch (ich weis es ist unhöfflich sowas von euch zu verlangen weil es einfach meine aufgabe wär, aber ich bin jetzt zu spät dran und ihr seid meine letzte hoffnung) danke schon im vorraus
Bereits Euklid konnte beweisen, dass jede naturliche Zahl z
∈ N , z > 1 sich eindeutig als Produkt einer Menge von Primzahlen darstellen l¨asst.
Entwickeln oder recherchieren Sie einen Algorithmus zur Primfaktorzerlegung und codieren Sie Ihren
Algorithmus in C.
So ist bspw. die Primfaktorzerlegung von 6936 das Produkt
2 ∗ 2 ∗ 2 ∗ 3 ∗ 17 ∗ 17.
• Das Programm liest eine Variable ein (genau ein scanf )
s c a n f ( ”%d ” , . . . ) ;
• Das Programm gibt im Normalfall die Primfaktoren untereinander linksbundig aus:
p r i n t f ( ”%d \ n ” , . . . ) ;
(naturlich wiederholt....)
• Primfaktoren die mehrfach enthalten sind werden auch mehrfach (untereinander) ausgegeben. Auch
nach dem letzten Primfaktor kommt ein Zeilenumbruch.
• Das Programm gibt im Falle einer Primzahl keine Primfaktoren sondern den Text ”... ist prim.“
(mit Zeilenumbruch) aus:
p r i n t f ( ”%d i s t p r i m . \ n ” , . . . ) ;
• Das Programm gibt im Fehlerfall (z < 2) den Text ”... kann nicht zerlegt werden.“ (mit Zeilenum-
bruch) aus:
p r i n t f ( ”%d k a n n n i c h t z e r l e g t w e r d e n . \ n ” , . . . ) ;
• Weitere Ein- und Ausgaben durfen nicht erfolgen.
• Das Programm darf keine Felder enthalten, Funktionen sind (zusammen mit erl¨auterten Prototypen)
erlaubt.
DANKE
Problem;
ich bin am Anfang meines Medieninformatik Studiums und muss bis heute 14:00 ein Programm abgeben.
Ich hab n Mac, und die Programme Textwrangler und Ultra Edit mit denen ich nichts anfangen kann!
Ich stell euch mal die Aufgabenstellung vom Prof. und bitte euch mir zu helfen, am besten falls etwas was ich nur noch kopieren und einfügen brauch (ich weis es ist unhöfflich sowas von euch zu verlangen weil es einfach meine aufgabe wär, aber ich bin jetzt zu spät dran und ihr seid meine letzte hoffnung) danke schon im vorraus
Bereits Euklid konnte beweisen, dass jede naturliche Zahl z
∈ N , z > 1 sich eindeutig als Produkt einer Menge von Primzahlen darstellen l¨asst.
Entwickeln oder recherchieren Sie einen Algorithmus zur Primfaktorzerlegung und codieren Sie Ihren
Algorithmus in C.
So ist bspw. die Primfaktorzerlegung von 6936 das Produkt
2 ∗ 2 ∗ 2 ∗ 3 ∗ 17 ∗ 17.
• Das Programm liest eine Variable ein (genau ein scanf )
s c a n f ( ”%d ” , . . . ) ;
• Das Programm gibt im Normalfall die Primfaktoren untereinander linksbundig aus:
p r i n t f ( ”%d \ n ” , . . . ) ;
(naturlich wiederholt....)
• Primfaktoren die mehrfach enthalten sind werden auch mehrfach (untereinander) ausgegeben. Auch
nach dem letzten Primfaktor kommt ein Zeilenumbruch.
• Das Programm gibt im Falle einer Primzahl keine Primfaktoren sondern den Text ”... ist prim.“
(mit Zeilenumbruch) aus:
p r i n t f ( ”%d i s t p r i m . \ n ” , . . . ) ;
• Das Programm gibt im Fehlerfall (z < 2) den Text ”... kann nicht zerlegt werden.“ (mit Zeilenum-
bruch) aus:
p r i n t f ( ”%d k a n n n i c h t z e r l e g t w e r d e n . \ n ” , . . . ) ;
• Weitere Ein- und Ausgaben durfen nicht erfolgen.
• Das Programm darf keine Felder enthalten, Funktionen sind (zusammen mit erl¨auterten Prototypen)
erlaubt.
DANKE
- Xin
- nur zu Besuch hier
- Beiträge: 8862
- Registriert: Fr Jul 04, 2008 11:10 pm
- Wohnort: /home/xin
- Kontaktdaten:
Re: Euklid Programmieren
Hmm... in dem Fall musst Du Dir die Hoffnung bitte woanders suchen. Du bist kein Auftraggeber, von dem ich einen Job angenommen habe und diese Website dient dazu, Dir programmieren beizubringen, wenn Du das möchtest. Du wirst Diene Aufgabe also selbst machen müssen.swordfish hat geschrieben:und bitte euch mir zu helfen, am besten falls etwas was ich nur noch kopieren und einfügen brauch (ich weis es ist unhöfflich sowas von euch zu verlangen weil es einfach meine aufgabe wär, aber ich bin jetzt zu spät dran und ihr seid meine letzte hoffnung) danke schon im vorraus
Dein Prof wird Dir die Aufgabe sicherlich nicht erst gestern gegeben haben. Dass Du drei Stunden vor Abgabe kommst, ist daher wohl überarbeitungsbedürftig. In dem Fall lernst Du gerade etwas.
Etwas Quelltext wäre gut, damit kann man Dir eher helfen.
Ich fange mal an...
Code: Alles auswählen
#include <stdio.h>
int main( void )
{
int zahl;
printf( "Bitte Zahl eingeben:\n" );
scanf( "%d", &zahl );
/* Hier fortsetzen */
return 0;
}
Merke: Wer Ordnung hellt ist nicht zwangsläufig eine Leuchte.
Ich beantworte keine generellen Programmierfragen per PN oder Mail. Dafür ist das Forum da.
Ich beantworte keine generellen Programmierfragen per PN oder Mail. Dafür ist das Forum da.
- cloidnerux
- Moderator
- Beiträge: 3125
- Registriert: Fr Sep 26, 2008 4:37 pm
- Wohnort: Ram (Gibts wirklich)
Re: Euklid Programmieren
Eine Möglichkeit ist, von 1 anfangen hoch zu zählen und zu schauen, ob die Zahl durch die gerade aktuelle Teilbar ist(Modulo). Ist sie Teilbar, den Aktuellen Teiler ausgeben und weitermachen ohne Inkrementierung, natürlich nicht vergessen die Zahl auch zu teilen:Bereits Euklid konnte beweisen, dass jede naturliche Zahl z
∈ N , z > 1 sich eindeutig als Produkt einer Menge von Primzahlen darstellen l¨asst.
Pseudocode:
Code: Alles auswählen
while i <= zahl
{
if i == zahl
//primzahl
if zahl % i == 0
ausgeben i
continue
i++
}
Code: Alles auswählen
rest = zahl
i = 2
if zahl < 2
ausgeben "Ungültig"
while i <= zahl/2
{
if rest % i == 0
ausgeben i
rest /= i
continue
i++
}
if rest > 1
ausgeben "Primzahl!"
Redundanz macht wiederholen unnötig.
quod erat expectandum
quod erat expectandum
- Xin
- nur zu Besuch hier
- Beiträge: 8862
- Registriert: Fr Jul 04, 2008 11:10 pm
- Wohnort: /home/xin
- Kontaktdaten:
Re: Euklid Programmieren
Ich bin gespannt, ob wir noch erfahren werden, was swordfish um 14 Uhr abgegeben hat. ^^
Merke: Wer Ordnung hellt ist nicht zwangsläufig eine Leuchte.
Ich beantworte keine generellen Programmierfragen per PN oder Mail. Dafür ist das Forum da.
Ich beantworte keine generellen Programmierfragen per PN oder Mail. Dafür ist das Forum da.
Re: Euklid Programmieren
ja also, erstmal ganz großen dank...
aaaaber, da ich ein echt schlechter student bin hab ich heute erfahren, das es erst bis mittwoch 14:00 ist

aaaaber, da ich ein echt schlechter student bin hab ich heute erfahren, das es erst bis mittwoch 14:00 ist



- Xin
- nur zu Besuch hier
- Beiträge: 8862
- Registriert: Fr Jul 04, 2008 11:10 pm
- Wohnort: /home/xin
- Kontaktdaten:
Re: Euklid Programmieren
Also lesen wir Dich Mittwoch gegen 11 Uhr wieder? :->swordfish hat geschrieben:ja also, erstmal ganz großen dank...
aaaaber, da ich ein echt schlechter student bin hab ich heute erfahren, das es erst bis mittwoch 14:00 ist![]()
![]()
Merke: Wer Ordnung hellt ist nicht zwangsläufig eine Leuchte.
Ich beantworte keine generellen Programmierfragen per PN oder Mail. Dafür ist das Forum da.
Ich beantworte keine generellen Programmierfragen per PN oder Mail. Dafür ist das Forum da.
Re: Euklid Programmieren
hey, ähmm will zwar nicht ganz dumm wirken aber es klappt einfach nicht^^
was muss ich jetzt alles eingeben, zusammen gefasst
tut mir leid leute ohne witz!
was muss ich jetzt alles eingeben, zusammen gefasst
tut mir leid leute ohne witz!

- cloidnerux
- Moderator
- Beiträge: 3125
- Registriert: Fr Sep 26, 2008 4:37 pm
- Wohnort: Ram (Gibts wirklich)
Re: Euklid Programmieren
Wenn du meinen Code ohne Änderung kopiert hast, kann es auch nicht funktionieren, denn es ist Pseudocode, ich wollte nur eine generelle Idee präsentieren, kein lauffähiges Programm.hey, ähmm will zwar nicht ganz dumm wirken aber es klappt einfach nicht^^
Sinnvollerweise solltest du deinen Äußerungen in Bezug auf Disfunktionalität immer deinen Sourcode beifügen sowie die Fehlermeldungen deines Compilers.
Generell gesagt bedeutet programmieren nicht das Eingeben irgendwelcher Schlüsselworte, sondern das schreiben eines logisch und syntaktisch korrekten Programmes, dass dir ein gegebenes Problem löst. Solange du dich weigerst, dich mit dem Programm zu beschäftigen, wie es aussieht und was die einzelnen Teile machen, wirst du wohl nur schwer ein lauffähiges Programm erhalten und auch in Zukunft enorme Probleme haben, Programmieraufgaben zu lösen. Es empfiehlt sich immer, programmieren zu verstehen, denn es eröffnet dir viele Möglichkeiten mit Tools wie Matlab, Excel, Bash, Batch, Lua, Python uvm.
Redundanz macht wiederholen unnötig.
quod erat expectandum
quod erat expectandum
- Xin
- nur zu Besuch hier
- Beiträge: 8862
- Registriert: Fr Jul 04, 2008 11:10 pm
- Wohnort: /home/xin
- Kontaktdaten:
Re: Euklid Programmieren
Was studierst Du eigentlich? Und wie lange schon?swordfish hat geschrieben:hey, ähmm will zwar nicht ganz dumm wirken aber es klappt einfach nicht^^
Als erstes das Programm, dann musst Du es kompilieren. Wie das geht findest Du im Wiki.swordfish hat geschrieben:was muss ich jetzt alles eingeben, zusammen gefasst
Wenn Du möchtest, dass man dir hilft, solltest Du zunächst beschreiben, was nicht funktioniert.
Merke: Wer Ordnung hellt ist nicht zwangsläufig eine Leuchte.
Ich beantworte keine generellen Programmierfragen per PN oder Mail. Dafür ist das Forum da.
Ich beantworte keine generellen Programmierfragen per PN oder Mail. Dafür ist das Forum da.
- cloidnerux
- Moderator
- Beiträge: 3125
- Registriert: Fr Sep 26, 2008 4:37 pm
- Wohnort: Ram (Gibts wirklich)
Re: Euklid Programmieren
Das hat er schon beantwortet:Was studierst Du eigentlich? Und wie lange schon?
ich bin am Anfang meines Medieninformatik Studiums
Redundanz macht wiederholen unnötig.
quod erat expectandum
quod erat expectandum