Willkommen bei dotnet-snippets.de! Snippet hinzufügen Login Registrieren
Snippets in der Datenbank: 1563 | Anzahl registrierter User: 1896 | Besucher online: 683
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)

Primfaktorzerlegung


Autor: Klemens Nanni
Sprache: VB.NET
Bewertung: 6,6
(1 Bewertung)
Anzahl der Aufrufe: 3206
  
Kick it on dotnet-kicks.de  

Beschreibung:

Diese Funktion gibt eine Liste aller Primfaktoren von n mit oder ohne Exponenten an.
Bsp.:

pr_fac(123456, True) -> {(2,6), (3,1), (643,1)} (List(Of String))
pr_fac(123456, False) -> {2,3,643} (List(Of Integer))


Intern wird eine Funktion zur Ermittlung des kleinsten Teilers verwendet, welche Sie hier finden: http://dotnet-snippets.de/dns/kleinsten-teiler-ermitteln-SID1471.aspx


Abgelegt unter: Primfaktorzerlegung, Primzahl, prime, Zerlegung, Primfaktor, Faktor, factorisation, kleinster, Teiler, divisor, Mathe, math.



Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
Function pr_fac(ByVal n As Integer, ByVal exp As Boolean) As IList
    If Not exp Then
        Dim facs As New List(Of Integer)

        While Not n = 1
            Dim p As Integer = sm_div(n)
            n \= p

            While n Mod p = 0
                n \= p
            End While
            facs.Add(p)
        End While

        Return facs
    Else
        Dim facs_exp As New List(Of String)

        While Not n = 1
            Dim p As Integer = sm_div(n), e As Byte = 1
            n \= p

            While n Mod p = 0
                n \= p
                e += 1
            End While
            facs_exp.Add("(" & p & "," & e & ")")
        End While

        Return facs_exp
    End If
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.)



Diese Snippets könnten für Sie interessant sein:
[C#] Prüfen ob eine Zahl eine Primzahl ist
[C#] PrimeNumberGenerator
[C#] PrimeNumberReader
[C#] Integers
[C#] Primzahl berechnen (optimiert)
[VB.NET] Das Sieb des Eratosthenes
[VB.NET] Effizientere Primzahlprüfung großer Zahlen
[VB.NET] Das Sieb von Atkin
[VB.NET] Das Sieb von Atkin (2)
[VB.NET] Das Sieb von Atkin (2) - aktuell
[VB.NET] Kleinster natürlicher Teiler > 1
[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] Modulare Exponentation
[VB.NET] Fibonacci-Folge iterativ erzeugen
[VB.NET] Werte zweier Variablen tauschen
[VB.NET] Ganzzahlige Wurzel
[VB.NET] Binäre Exponentation
[VB.NET] Binomialkoeffizient
[VB.NET] Dezimalzahl in Zahl der Basis b < 37 konvertieren
[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.