primzahlen

Hier kann über alles diskutiert werden, wirklich alles. Betonung liegt auf "diskutiert", das ist also kein Freischein zum Spammen.
(Beitragszähler deaktiviert)
Antworten
lolo86
Kaklatron
Beiträge: 18
Registriert: 14. Dez 2008, 17:57

primzahlen

Beitrag von lolo86 » 15. Nov 2009, 14:19

huhu, ich muss mit einem programm testen (in C) ob eine zahl eine primzahl ist. :?
kann mir da jmd helfen? hat vll jmd davon ein quelltext?
vielen dank für die hilfe :)

Benutzeravatar
Avalon
Feuervogel
Beiträge: 4701
Registriert: 17. Dez 2004, 11:24

Re: primzahlen

Beitrag von Avalon » 15. Nov 2009, 14:24

Es gibt sicher schon fast soviele Programme und Internetseiten dazu, wie Primzahlen, nutz mal Google oder erkläre, warum du damit nicht fündig geworden bist.

lolo86
Kaklatron
Beiträge: 18
Registriert: 14. Dez 2008, 17:57

Re: primzahlen

Beitrag von lolo86 » 15. Nov 2009, 14:26

ich finde aber leider keinen quelltext für c...immer nur java oder c++

Benutzeravatar
kaot
Vulkandämon
Beiträge: 7254
Registriert: 19. Jan 2005, 23:42
Kontaktdaten:

Re: primzahlen

Beitrag von kaot » 15. Nov 2009, 14:37

dann passt man die syntax an (C dokumentation suchen), ggf c und java/c++ dokumentation suchen) und korrigieren ;)
Bazinga!

lolo86
Kaklatron
Beiträge: 18
Registriert: 14. Dez 2008, 17:57

Re: primzahlen

Beitrag von lolo86 » 15. Nov 2009, 14:54

oh weia, ich seh einfach nich durch :S

so sieht die aufgabenstellung aus..
Der folgende Algorithmus beschreibt ein Verfahren, das feststellt, ob eine natürliche Zahl m eine
Primzahl ist. Für den Primzahltest gilt:
m ist prim genau dann, wenn m >1 und kein Teiler t von m mit 1<t und t<m existiert, wobei m und t
natürliche Zahlen sind.
Der Ausdruck m%t berechnet den Rest, der bei der ganzzahligen Division von m durch t entsteht.

Implementieren Sie den Algorithmus als C-Funktion. Dafür ist die in der Datei prim.h definierte
Funktion isPrim zu implementieren. Die Funktion erwartet als Parameter eine natürliche Zahl m und
gibt das Ergebnis 1, falls m eine Primzahl ist, oder das Ergebnis 0, falls m keine Primzahl ist, zurück.

Brio
Kriechlapf
Beiträge: 42
Registriert: 17. Feb 2006, 23:14

Re: primzahlen

Beitrag von Brio » 15. Nov 2009, 15:30

Ich habe selber erst vor ca. 2Wochen wirklich mit C++ angefangen, aber die Aufgabe hat mich gereizt;) Ist leider eben C++ (ich weiß nicht inwiefern du für C was abändern musst) und die Funktion ist eben nicht in einer eigenen Datei hinterlegt, da ich mich da auch noch nicht genauer auskenn, wie man das macht, aber als HIlfe sollte der folgende Code schonmal dienen:

Code: Alles auswählen

#include <iostream>
using namespace std;

int isPrim(int);

int main () {
    int zahl;
    cout<<"Bitte gebe eine zu prüfende Zahl ein: ";
    cin>>zahl;
    if(isPrim(zahl)==1) {
                        cout<<"\nDie Zahl ist eine Primzahl";
                        }
    else {
         cout<<"\nDie Zahl ist keine Primzahl";
         }
    while(1); 
}

int isPrim(int m) {
    bool prim = 1;//es wird zu Beginn angenommen, dass die Zahl EINE Primzahl ist
    if(m > 1) {
            for(int t=2;t<m;t=t+1) {//Schleifendurchlauf um Zahl auf alle moeglichen Teiler zu pruefen
                    if(m%t==0) {//wird diese Bedingung erfuellt, ist die Zahl KEINE Primzahl
                               prim = 0;
                               }
                    }
            }
    else {
         return 2; //oder sonstige andere Ausgabe, einfach zur Benachrichtigung, dass eine falsche Zahl eingegeben wurde...
         }
    return prim;
}
und da ich so nett bin, hab ich mich noch 10min länger hingesetzt, 2 Internetseiten angeschaut und das ganze umgeschrieben, damits in C funzt:

Code: Alles auswählen

#include <stdio.h>

int isPrim(int);

main () {
    int zahl;
    printf("Bitte gebe eine zu prüfende Zahl ein: ");
    scanf("%d",&zahl); 
    if(isPrim(zahl)==1) {
                        printf("\nDie Zahl ist eine Primzahl");
                        }
    else {
         printf("\nDie Zahl ist keine Primzahl");
         }
    while(1); 
}

int isPrim(int m) {
    int prim = 1;//es wird zu Beginn angenommen, dass die Zahl EINE Primzahl ist
    if(m > 1) {
            int t;
            for(t=2;t<m;t=t+1) {//Schleifendurchlauf um Zahl auf alle moeglichen Teiler zu pruefen
                    if(m%t==0) {//wird diese Bedingung erfuellt, ist die Zahl KEINE Primzahl
                               prim = 0;
                               }
                    }
            }
    else {
         return 2; //oder sonstige andere Ausgabe, einfach zur Benachrichtigung, dass eine falsche Zahl eingegeben wurde...
         }
    return prim;
}
Es kann natürlich sein (und ist ziemlich sicher so), dass man an dem Code noch einiges schöner machen kann, dass kannst du ja dann aber machen:)
mfg brio

lolo86
Kaklatron
Beiträge: 18
Registriert: 14. Dez 2008, 17:57

Re: primzahlen

Beitrag von lolo86 » 15. Nov 2009, 15:58

ich danke dir brio :)
ganz lieben dank!!!!!

Antworten

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 327 Gäste