Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht Das deutsche QBasic- und FreeBASIC-Forum
Für euch erreichbar unter qb-forum.de, fb-forum.de und freebasic-forum.de!
 
FAQFAQ   SuchenSuchen   MitgliederlisteMitgliederliste   BenutzergruppenBenutzergruppen  RegistrierenRegistrieren
ProfilProfil   Einloggen, um private Nachrichten zu lesenEinloggen, um private Nachrichten zu lesen   LoginLogin
Zur Begleitseite des Forums / Chat / Impressum
Aktueller Forenpartner:

Programmhilfe

 
Neues Thema eröffnen   Neue Antwort erstellen    Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht -> Allgemeine Fragen zu QBasic.
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen  
Autor Nachricht
Dome15042000



Anmeldungsdatum: 26.01.2016
Beiträge: 3

BeitragVerfasst am: 26.01.2016, 16:53    Titel: Programmhilfe Antworten mit Zitat

Das Programm sieht folgendermaßen aus:

cls
summe = 0
input "reichweite",y
for n = 1 to y
for i = 1 to n
if n mod i = 0 then
summe = summe +1
end if
if summe = 2 then
print n; "primzahl"
else
print n; "keine primzahl"
end if next

Bis auf die äußere for next schleife läuft alles einwandfrei(manuelle eingabe von n mit einer ausgabe, ob primzahl ja oder nein). dann wollte ich diese manuelle eingabe durch eine schleife ersetzen, die die zahlen von 1-y durchgehen kann. allerdings wird nur das ergebnis"keine primzahl" ausgegeben. Woran liegt das?
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
nemored



Anmeldungsdatum: 22.02.2007
Beiträge: 4594
Wohnort: ~/

BeitragVerfasst am: 26.01.2016, 17:40    Titel: Antworten mit Zitat

Ich habe den Code etwas geändert. Schau mal, was die Änderung bewirkt.
Code:
cls
summe = 0
input "reichweite",y
for n = 1 to y
  for i = 1 to n
    if n mod i = 0 then
      summe = summe +1
    end if
  next
  if summe = 2 then
    print n; "primzahl"
  else
    print n; "keine primzahl"
  end if
  summe = 0
next

_________________
Deine Chance beträgt 1:1000. Also musst du folgendes tun: Vergiss die 1000 und konzentriere dich auf die 1.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Eternal_pain



Anmeldungsdatum: 08.08.2006
Beiträge: 1783
Wohnort: BW/KA

BeitragVerfasst am: 26.01.2016, 20:44    Titel: Antworten mit Zitat

Wollte eigentlich ein Veto einlegen und vorschlagen 'if summe = 2 then' durch 'if summe < 3 then' zu ersetzen, ich meine in der Grundschule noch gelernt zu haben das auch 1 eine Primzahl ist auf der begründung, alles was nur durch 1 und sich selbst teilbar ist eine primzahl ist, habe aber vorsichtshalber noch einmal nachgelesen....
Hatte mich eben etwas verwirrt... wie vor einigen jahren schon das '0^0=1 Thema'

https://de.wikibooks.org/wiki/Mathematik:_Zahlentheorie:_Warum_1_keine_Primzahl_ist

zur überprüfung kann man für die ersten 100 zahlen mal hier gucken (gibt aber genug andere seiten)

http://metricconversion.biz/de/liste-der-ersten-100-primzahlen.html

Lesenswert sind auch die komplexeren Algorithmen unter 'Bekannte Primzahltest-Verfahren' hier:
https://de.wikipedia.org/wiki/Primzahltest
_________________
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen MSN Messenger
Dome15042000



Anmeldungsdatum: 26.01.2016
Beiträge: 3

BeitragVerfasst am: 26.01.2016, 20:58    Titel: Antworten mit Zitat

Vielen Dank, 1 ist keine Primzahl, da die Primfaktorzerlegung sonst nicht anwendbar wäre. und ja, da summe nicht zurückgesetzt wird, klappt es auch nicht
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Beiträge der letzten Zeit anzeigen:   
Neues Thema eröffnen   Neue Antwort erstellen    Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht -> Allgemeine Fragen zu QBasic. Alle Zeiten sind GMT + 1 Stunde
Seite 1 von 1

 
Gehe zu:  
Du kannst keine Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum nicht antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.

 Impressum :: Datenschutz