Das Programm durchsucht einen Integer und gibt die echte Teiler Summe zurück
(Echte Teiler sind alle, außer der Zahl selbst)
Es ist die beste Methode die mir eingefallen ist, denke jedoch nicht, dass sie perfekt ist.
Natürlich gilt das ganze nur für "Natürliche Zahlen", da man die Teilersummen nur von Natürliche Zahlen bestimmen kann.
/// <summary>
/// Klasse gibt nach Übergabe eines Integer an "Teiler.Summe" die Summe
/// der echten Teiler aus.
/// </summary>
public class Teiler
{
public int Summe(int zahl){
int intSumme = 0;
int intmax = 0;
//Zahl wird bis zur Hälfte durchsucht
for(int i = 1;i<(zahl/2);i++)
{
if (zahl % i == 0)
{
if (zahl/i == intmax)
{
break;
//Abbruchkriterium, falls die Zahlen sich wiederholen
}//of if
intmax = i;
intSumme = intSumme + i;
intSumme = intSumme + zahl/i;
}//of if
}//of for
intSumme = intSumme - zahl;
//Um Summe der Echten Teiler zu erhalten wird die Zahl von
//der Teilersumme abgezogen
return intSumme;
}//of Summe()
}
4 Kommentare zum Snippet