AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Programmieren allgemein Primzahlen berechnen mit nur wenigen Befehlen
Thema durchsuchen
Ansicht
Themen-Optionen

Primzahlen berechnen mit nur wenigen Befehlen

Ein Thema von niggeden · begonnen am 16. Okt 2008 · letzter Beitrag vom 16. Okt 2008
Antwort Antwort
niggeden

Registriert seit: 16. Okt 2008
1 Beiträge
 
#1

Primzahlen berechnen mit nur wenigen Befehlen

  Alt 16. Okt 2008, 16:25
Hi!

Wir sollten uns mal Gedanken darüber machen, wie man mit Delphi 6 ein Programm schreiben kann, das Primzahlen "entlarvt".
In der Konsolenanwendung am Ende soll dann z.b. stehen:
Zahl 10 keine Primzahl
Zahl 11 Primzahl
usw.


Da wir aber kaum Befehle kennen können wir das meiner Meinung nach nur mit Divisionen erreichen.

Wir würdet ihr das machen?

MfG
  Mit Zitat antworten Zitat
Klaus01
Online

Registriert seit: 30. Nov 2005
Ort: München
5.768 Beiträge
 
Delphi 10.4 Sydney
 
#2

Re: Primzahlen berechnen mit nur wenigen Befehlen

  Alt 16. Okt 2008, 16:29
Hallo,

gebe mal im Suchfeld "isPrim" an, Du wirst dann einige Treffer mit Beispielen erhalten.

Grüße
Klaus
Klaus
  Mit Zitat antworten Zitat
Benutzerbild von 3_of_8
3_of_8

Registriert seit: 22. Mär 2005
Ort: Dingolfing
4.129 Beiträge
 
Turbo Delphi für Win32
 
#3

Re: Primzahlen berechnen mit nur wenigen Befehlen

  Alt 16. Okt 2008, 16:39
Tipp: Eine Zahl n ist eine Primzahl, wenn sie durch keine natürliche Zahl von 2 bis Wurzel(n) teilbar ist. (Ausnahme: Die 1 ist auch keine)
Manuel Eberl
„The trouble with having an open mind, of course, is that people will insist on coming along and trying to put things in it.“
- Terry Pratchett
  Mit Zitat antworten Zitat
Benutzerbild von jfheins
jfheins

Registriert seit: 10. Jun 2004
Ort: Garching (TUM)
4.579 Beiträge
 
#4

Re: Primzahlen berechnen mit nur wenigen Befehlen

  Alt 16. Okt 2008, 17:00
Möchtest du

1. Einen Test, der prüft, ob eine bestimt Zahl prim ist oder

2. Ein Verfahren, das für einen bestimmten Bereich alle Primzahlen heraussucht?

Das sind 2 verschiedene Dinge, und das eine zu verwenden um das andere zu erreichen ist eher ... unperformant

zu 1. wie Manuel vorgeschlagen hat, musst du alle potenziellen Teiler-Kanidaten prüfen.

zu 2. Da gibt es das Sieb des Eratosthenes, ist auf Wikipedia relativ gut erklärt. Damit sparst du Aufwand, wenn du sowiso alle Zahlen von 1 bis n auf "Primheit" untersuchen möchtest.
  Mit Zitat antworten Zitat
Apollonius

Registriert seit: 16. Apr 2007
2.325 Beiträge
 
Turbo Delphi für Win32
 
#5

Re: Primzahlen berechnen mit nur wenigen Befehlen

  Alt 16. Okt 2008, 17:05
Dann gibt es natürlich noch die probabilistischen Primzahltests. Dort können als prim angegebene Zahlen noch mit einer geringen Wahrscheinlichkeit zusammengesetzt sein. Dafür sind diese Tests extrem schnell. Die Fehlerwahrscheinlichkeit kann man ziemlich stark verringern, indem man die Iterationszahl vergrößert. Beispielsweise ist beim Miller-Rabin-Test die Wahrscheinlichkeit, dass eine nicht-Primzahl als prim angegeben wird, bei zwanzig Iterationen geringer als ein Billionstel.
Wer erweist der Welt einen Dienst und findet ein gutes Synonym für "Pointer"?
"An interface pointer is a pointer to a pointer. This pointer points to an array of pointers, each of which points to an interface function."
  Mit Zitat antworten Zitat
chamop87

Registriert seit: 10. Feb 2008
11 Beiträge
 
Delphi 7 Enterprise
 
#6

Re: Primzahlen berechnen mit nur wenigen Befehlen

  Alt 16. Okt 2008, 17:08
Zitat:
Tipp: Eine Zahl n ist eine Primzahl, wenn sie durch keine natürliche Zahl von 2 bis Wurzel(n) teilbar ist. (Ausnahme: Die 1 ist auch keine)
zwei ist auch eine primzahl, weil sie nur durch 2 und 1 teilbar ist!
  Mit Zitat antworten Zitat
Benutzerbild von STS301
STS301

Registriert seit: 6. Nov 2007
668 Beiträge
 
Delphi 7 Personal
 
#7

Re: Primzahlen berechnen mit nur wenigen Befehlen

  Alt 16. Okt 2008, 17:09
schau dir das einmal an
http://www.delphipraxis.net/internal...922&highlight=
Sebastian

ölpölp

Linux will rule the universe!!
  Mit Zitat antworten Zitat
Benutzerbild von 3_of_8
3_of_8

Registriert seit: 22. Mär 2005
Ort: Dingolfing
4.129 Beiträge
 
Turbo Delphi für Win32
 
#8

Re: Primzahlen berechnen mit nur wenigen Befehlen

  Alt 16. Okt 2008, 17:12
Zitat von chamop87:
Zitat:
Tipp: Eine Zahl n ist eine Primzahl, wenn sie durch keine natürliche Zahl von 2 bis Wurzel(n) teilbar ist. (Ausnahme: Die 1 ist auch keine)
zwei ist auch eine primzahl, weil sie nur durch 2 und 1 teilbar ist!
Und? Für n:=2 ist aber deine rechte Intervallgrenze (sqrt(2)) kleiner als die linke Intervallgrenze (2), sodass du überhaupt keine Zahl überprüfst, wenn du den von mir vorgeschlagenen Algorithmus anwendest.
Manuel Eberl
„The trouble with having an open mind, of course, is that people will insist on coming along and trying to put things in it.“
- Terry Pratchett
  Mit Zitat antworten Zitat
Benutzerbild von jokerfacehro
jokerfacehro

Registriert seit: 13. Feb 2007
306 Beiträge
 
Delphi 7 Enterprise
 
#9

Re: Primzahlen berechnen mit nur wenigen Befehlen

  Alt 16. Okt 2008, 18:07
den einfachsten primzahl algorithmus den ich gesehn hab, war nur mit addition und sehr einfach.

siehe hier, is glaub ich der 2. oder 3 beitrag http://www.delphipraxis.net/internal...ct.php?t=40427
"Never touch a running system administrator !"
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 16:40 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz