Du bist nicht eingeloggt.

Login

Pass

Registrieren

Community
Szene & News
Locations
Impressum

Forum / Bits und Bytes

Primfaktorzerlegung mit Excel

Onkel-Kirle - 31
Profi (offline)

Dabei seit 11.2007
569 Beiträge

Geschrieben am: 12.12.2008 um 19:56 Uhr

Hallo,

Kann man mit Excel ne Primfaktorzerlegung machen. Wenn ja, wie ist die Formel dafür?

Danke schonmal
gruß :trinker:

Demokratie ist, wenn zwei Wölfe und ein Schaf abstimmen, was es zum Essen gibt.

eingeloggt
Fortgeschrittener (offline)

Dabei seit 11.2006
97 Beiträge
Geschrieben am: 12.12.2008 um 19:59 Uhr
Zuletzt editiert am: 12.12.2008 um 20:02 Uhr

http://www.excelformeln.de/formeln.html


Mathematische Funktionen (8) ->

Wie kann man eine Zahl in seine Primfaktoren zerlegen (167)


Aufgabe
Eine Zahl soll in ihre Primfaktoren zerlegt werden.

A B C D E
1 82.873.206 2 2 2 *
2 41436603 3 3 3 ^5 *
3 13812201 3 3 13 ^2 *
4 4604067 3 3 1009
5 1534689 3 3
6 511563 3 3
7 170521 13 13
8 13117 13 13
9 1009 0 1009
10 1 1
11 1 1 = 2 * 3^5 * 13^2 * 1.009

Siehe dazu auch Nr.211 bei Iteration (15)


Lösung
In A1 steht die zu zerlegende Zahl

In A2 steht:
=WENN(B1=0;1;A1/B1)
diese Formel bis A32 runterkopieren

In B1 steht:
{=MIN(WENN(2*(A1/ZEILE(INDIREKT("2:"&KÜRZEN(A1^0,5)))-GANZZAHL(A1/ZEILE(INDIREKT("2:"&KÜRZEN(A1^0,5)))))=0;ZEILE(INDIREKT("2:"&KÜRZEN(A1^0,5)))))}
diese Formel bis B32 runterkopieren

In C1 steht:
=WENN(ZÄHLENWENN(B:B;"> 1") < ZEILE()-1;"";WENN(ZÄHLENWENN(B:B;">1")=ZEILE()-1;INDEX(A:A;ZEILE());B1))
diese Formel bis C32 runterkopieren, enthält die Primfaktoren

Die größte zu zerlegende Zahl ist 2^32+2^17 = 4.295.098.368
Da ist dann Schluß weil 65.536 die letzte Zeilenzahl ist, die als Wurzel resultieren könnte.

Wenn die Zahl eine Primzahl ist, steht sie alleine selber in C1.

Ergebnisdarstellung mit Exponenten
In D1 steht:
{=MIN(WENN(C$1:C$100 > 1;C$1:C$100))}

In D2 steht:
{=WENN(MAX(D$1:D1)=MAX(C:C);"";MIN(WENN(C$1:C$100 > D1;C$1:C$100)))}
bis D10 runterkopieren.

In E1 steht:
=WENN(D1="";"";WENN(ZÄHLENWENN(C:C;D1)>1;"^"&ZÄHLENWENN(C:C;D1);"")&WENN(D2 <> "";" * ";""))
bis E10 runterkopieren.

Das Ergebnis:
=WENN(A1>2^32+2^17;"Zahl ist zu groß!";WENN(UND(C1=A1;A1>1);"Primzahl";"= "&TEXT(D1;"#.###")&E1&TEXT(D2;"#.###")&E2&TEXT(D3;"#.###")&E3&TEXT(D4;"#.###")&E4&TEXT(D5;"#.###")&E5&TEXT(D6;"#.###")&E6&TEXT(D7;"#.###")&E7&TEXT(D8;"#.###")&E8&D9&E9))


Erläuterung
B1 könnte man mit der Funktion REST auch kürzer fassen zu:
{=MIN(WENN(REST(A1;ZEILE(INDIREKT("2:"&KÜRZEN(A1^0,5))))=0;ZEILE(INDIREKT("2:"&KÜRZEN(A1^0,5)))))}
Wegen einer Macke in dieser Funktion wäre die größte zu zerlegende Zahl dann aber nur 2^28-1 = 268.435.455

Flo999 - 33
Champion (offline)

Dabei seit 05.2005
6273 Beiträge

Geschrieben am: 12.12.2008 um 20:02 Uhr

letztens gabs schon ne thread mit dem namen "strafarbeit..primfaktorzerlegung bis 100"
da waren u.a. auch online rechner drinne, nur falls du es für eine bestimmte aufgabe wissen möchtest..
Onkel-Kirle - 31
Profi (offline)

Dabei seit 11.2007
569 Beiträge

Geschrieben am: 12.12.2008 um 20:13 Uhr

Zitat von eingeloggt:





In B1 steht:
{=MIN(WENN(2*(A1/ZEILE(INDIREKT("2:"&KÜRZEN(A1^0,5)))-
GANZZAHL(A1/ZEILE(INDIREKT("2:"&KÜRZEN(A1^0,5)))))=0;ZEILE(INDIREKT("2:"&KÜRZEN(A1^0
,5)))))}
diese Formel bis B32 runterkopieren




Erst mal danke für die schnelle Hilfe. Aber muss bei der Formel die Klammer vor das =?

Demokratie ist, wenn zwei Wölfe und ein Schaf abstimmen, was es zum Essen gibt.

  [Antwort schreiben]

Forum / Bits und Bytes

(c) 1999 - 2025 team-ulm.de - all rights reserved - hosted by ibTEC Team-Ulm

- Presse - Blog - Historie - Partner - Nutzungsbedingungen - Datenschutzerklärung - Jugendschutz -