Willkommen bei dotnet-snippets.de! Snippet hinzufügen Login Registrieren
Snippets in der Datenbank: 1563 | Anzahl registrierter User: 1896 | Besucher online: 106
Hauptmenü
Home
Top Ten
Zufälliger Snippet
FAQs
.NET Community
dotnet-forum.de
dotnet-kicks.de
Social

RSS Feeds
Rss Alle Snippets
Rss C#
Rss VB.NET
Rss C++
Rss ASP.NET
Partner
Member of Microsoft Community Leader/Insider Program (CLIP)

Kleinster natürlicher Teiler > 1


Autor: Klemens Nanni
Sprache: VB.NET
Bewertung:
noch nicht bewertet
Anzahl der Aufrufe: 2984
  
Kick it on dotnet-kicks.de  

Beschreibung:

Dieses Snippet ermittelt den kleinsten natürlichen Teiler > 1 einer ganzen Zahl n. Für gerade n ist der Rückgabewert stets 2.

Abgelegt unter: kleinster, smallest, Teiler, divisor, Mathe, math.



Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
Function sm_div(ByVal n As Integer) As Integer
    For Each p As Byte In {2, 3, 5}
        If n Mod p = 0 Then Return p
    Next

    Dim dif As Byte() = {6, 4, 2, 4, 2, 4, 6, 2}, m As Short = 7, i As Short = 1

    While m * m <= n
        If n Mod m = 0 Then Return m
        m += dif(i Mod 8)
        i += 1
    End While

    Return n
End Function
Sie haben Fragen zu diesem Snippet oder brauchen Hilfe bei der .NET Entwicklung?
Freundliche und kompetente Entwickler helfen Ihnen gern weiter im Forum für .NET Entwicklung.



Kommentare:
(Zum Schreiben von Kommentaren bitte anmelden.)

RoSi schrieb am:  21.11.2010 23:12:47

Die Überschrift und die Lösung ist ein wenig eigenartig. Kleinster gemeinsamer Teiler ist hierbei immer die 1. Wozu benötigt man den kleinsten gemeinsamen Teiler, der nicht 1 ist?
Klemens Nanni schrieb am:  22.11.2010 15:50:47

1 ausgeschlossen natürlich. Ist selten von Nöten, stimmt, aber wer's braucht, hat's nun hier. Beispielsweise verwende ich diese Funktion beim ermitteln der Primfaktorzerlegung (folgt in Kürze als Snippet).


Diese Snippets könnten für Sie interessant sein:
[VB.NET] Primfaktorzerlegung
[C#] Integers
[C#] "echte" Teiler Summe berechnen
[VB.NET] Größter gemeinsamer Teiler
[VB.NET] Größter gemeinsamer Teiler (2)
[C#] Summe 1..n berechnen
[C#] Fibonacci-Folge berechnen
[C#] n-te Fibonaccizahl rekursiv berechnen
[C#] Summe 1²...n² berechnen.
[C#] Summe 1³..n³ berechnen.
[C#] größten gemeinsamen Teiler berechnen.
[VB.NET] Multiplikation von übergroßen Zahlen
[C#] Dreiecksberechnung
[VB.NET] PI nach der Bailey-Borwein-Plouffe-Formel berechnen
[VB.NET] Quadratische Gleichung mit der PQ Formel lösen
[VB.NET] Basisrechenfunktionen für einen Kreis
[C++] Exponents
[C#] Quersummenberechnung
[C#] Geodaten in sexagesimal Format umrechnen
[VB.NET] Größten gemeinsamen Teiler berechnen
[VB.NET] Quadratwurzel ohne Sqrt() Funktion ziehen
[C#] Addiere alle ganzen Zahlen von x bis y
[C++] Caesar
[C#] Formelevaluierung aus RPN Form
[C#] Prüfung auf narzisstische Zahlen
[C#] CellMatrix
[C#] Maschinengenauigkeit
[C#] Flächenberechnungen am Kreis,Quadrat,Parallelogramm,Trapez
[C#] Bruch-Klasse
[VB.NET] einfacher rekursiver Mathe Parser
[VB.NET] Permutation nachweisen
[VB.NET] Das Sieb des Eratosthenes
[VB.NET] Modulare Exponentation
[VB.NET] Fibonacci-Folge iterativ erzeugen
[VB.NET] Das Sieb von Atkin
[VB.NET] Das Sieb von Atkin (2)
[VB.NET] Werte zweier Variablen tauschen
[VB.NET] Ganzzahlige Wurzel
[VB.NET] Binäre Exponentation
[VB.NET] Binomialkoeffizient
[VB.NET] Das Sieb von Atkin (2) - aktuell
[VB.NET] Dezimalzahl in Zahl der Basis b < 37 konvertieren
[C#] Primzahl berechnen (optimiert)
[C#] Berechnung der Entfernung zwischen GPS-Koordinaten
[VB.NET] Pandigitale Zahlen
[C#] Wurzel und Potenz berechnen ohne Math-Klasse

schlecht sehr gut
1 2 3 4 5 6 7 8 9 10
Nur angemeldete User können Snippets bewerten.