C :: Aufgabe #229 :: Lösung #1
1 Lösung
#229
Summe alle Teiler einer positven Ganzzahl
Anfänger - C
von hollst
- 18.06.2019 um 20:49 Uhr
Man schreibe eine Funktion SIGMA(n) mit n > 0 und ganzzahlig, wobei der Funktionswert sich
aus der Summe aller ganzzahligen, positven Teiler von n ergibt.
Beispiele (Zahl; Teiler; Funktionswert);
1; 1; 1
2; 1, 2; 3
4; 1, 2, 4; 7
5; 1, 5; 6
...
12; 1, 2, 3, 4, 6, 12; 28
...
100; 1, 2, 4, 5, 10, 20, 25, 50, 100; 217
Für 0 < n <= 200 sollte sich der beigefügte Pinplot ergeben.
Viel Spaß!
aus der Summe aller ganzzahligen, positven Teiler von n ergibt.
Beispiele (Zahl; Teiler; Funktionswert);
1; 1; 1
2; 1, 2; 3
4; 1, 2, 4; 7
5; 1, 5; 6
...
12; 1, 2, 3, 4, 6, 12; 28
...
100; 1, 2, 4, 5, 10, 20, 25, 50, 100; 217
Für 0 < n <= 200 sollte sich der beigefügte Pinplot ergeben.
Viel Spaß!
#1
von kathleenw (3600 Punkte)
- 17.07.2020 um 12:42 Uhr
#include <stdio.h>
#include <stdlib.h>
int main(void)
{
int n, anzahl_teiler, zahl, i, obere_grenze;
int summe_teiler[200], teiler[100];
zahl = 1;
anzahl_teiler = 0;
obere_grenze = 200;
while (zahl<obere_grenze+1)
{
//Teiler der Zahl finden
for (i=1; i<=zahl; i++)
{
if(zahl % i == 0) {
anzahl_teiler++;
teiler[anzahl_teiler-1] = i;
}
}
summe_teiler[zahl-1] = 1;
//Summe berechnen
if (zahl>1) {
for(i=1;i<anzahl_teiler;i++)
{
summe_teiler[zahl-1] = summe_teiler[zahl-1] + teiler [i];
}
}
zahl++;
anzahl_teiler = 0;
}
//Ausgabe aller Summen bezogen auf die Zahl n
for (i=0;i<zahl-1;i++) {
printf("%d : %d\n", i+1,summe_teiler[i]);
}
}
Kommentare:
Für diese Lösung gibt es noch keinen Kommentar
Seite 1 von 0
1
