Olvassunk be egész számot és vizsgájuk meg, hogy a megadott korlátig mennyi tökéletes szám található. Egy szám akkor tökéletes, ha az osztóinak összege +1 megegyezik a számmal. A tökéletes szám mellett az osztóinak összegét is jelenítsük meg, amelynek 1-el kevesebbnek kell lennie a tökéletes számnál.
A feladat megoldása:
private void Keresés_Click(object sender, EventArgs e)
{
int osztó, összeg, szám, vége;
if (textBox1.Text != "")
{
vége = Int32.Parse(textBox1.Text);
for (szám = 2; szám <= vége; szám++)
{
összeg = 0;
for (osztó = 2; osztó <= szám / 2; osztó++)
{
if (szám % osztó == 0)
összeg += osztó;
}
if ((összeg + 1) == szám)
{
listBox1.Items.Add(szám);
listBox2.Items.Add(összeg);
}
}
Keresés.Enabled = false;
}
}
private void Törlés_Click(object sender, EventArgs e)
{
textBox1.Text = "";
listBox1.Items.Clear(); listBox2.Items.Clear();
Keresés.Enabled = true;
}
A program futási eredményei: