Aufgabe
Wie kann man alle Teiler einer Zahl ermitteln ?
A
B
C
1
12.345.678
1
12.345.678
2
2
6.172.839
3
3
4.115.226
4
6
2.057.613
5
9
1.371.742
6
18
685.871
7
47
262.674
8
94
131.337
9
141
87.558
10
282
43.779
11
423
29.186
12
846
14.593
13
14
Anzahl:
24 Teiler
15
Summe:
27.319.968
Lösung
Zahl steht in A1
Ab B1 steht:
{=KKLEINSTE(WENN(REST(A$1;ZEILE(INDIREKT("1:"&KÜRZEN(A$1^0,5))))=0;ZEILE(INDIREKT("1:"&KÜRZEN(A$1^0,5))));ZEILE())}
runterkopieren, bis alle Teiler bis zur Wurzel der Zahl ermittelt sind.
Die Gegenstücke der Teiler in Spalte B beginnen ab C1 mit:
=WENN(B1^2=A$1;"";A$1/B1)
runterkopieren
Die Anzahl ergibt:
=ZÄHLENWENN(B1:C1000;">0")&" Teiler"
Ergänzung vom 28.05.2003
Ohne Auflistung der Teiler in Spalte B und C ermittelt man die Anzahl mit:
{=SUMME((REST(A$1;ZEILE(INDIREKT("1:"&KÜRZEN(A$1^0,5))))=0)*2)-(REST(A1^0,5;1)=0)*1}
und die Summe mit:
{=SUMME(WENN(REST(A$1;ZEILE(INDIREKT("1:"&KÜRZEN(A$1^0,5))))=0;ZEILE(INDIREKT("1:"&KÜRZEN(A$1^0,5)))+A1/ZEILE(INDIREKT("1:"&KÜRZEN(A$1^0,5)))))-(REST(A1^0,5;1)=0)*A1^0,5}
Erläuterung
Diese Methode funktioniert für Zahlen bis ca 134 Millionen (2^27-1).