using System;
public class PerfectNumbers
{
public static void Main()
{
int max = 0;
const int MIN = 1;
int minNumber = MIN;
int runTotal = 0;
int num = 0;
int holdNum = 0;
int mod = 0;
int divNum = 0;
string inputString;
int maxValue;
Console.WriteLine("+++++++++++++++++++++++++++++++++++++");
Console.WriteLine("WELCOME TO THE PERFECT NUMBER PROGRAM");
Console.WriteLine(" ");
Console.WriteLine("+++++++++++++++++++++++++++++++++++++");
Console.WriteLine(" ");
Console.WriteLine(" ");
Console.WriteLine(" Please enter a maximum value");
Console.WriteLine(" The program will find perfect numbers");
Console.WriteLine(" from 1 to the value selected");
inputString = Console.ReadLine();
maxValue = Convert.ToInt32(inputString);
max = maxValue;
while (minNumber <= max)
{
if (minNumber == 1)
{
holdNum = minNumber;
divNum = num - 1;
if (divNum != 0)
mod = holdNum % divNum;
if (mod == 0)
{
runTotal += divNum; //accumulate totals
}
}
else
{
for (num = minNumber; num >= 1; --num)
{
holdNum = minNumber;
divNum = num - 1;
if (divNum != 0)
mod = holdNum % divNum;
if (mod == 0) //accumulate totals
{
runTotal += divNum;
//Console.WriteLine("runtotal is {0}", runTotal);
}
}
if (runTotal == holdNum)
{
Console.WriteLine(" The perfect numbers from 1 to {0} are: {1} ", max, holdNum);
}
//Console.WriteLine("holdNum is {0}, divNum is {1}", holdNum, divNum);
holdNum = 0; // reset variables
divNum = 0; // reset variables
runTotal = 0; // reset variables
}
++minNumber;
}
Console.WriteLine(" ");
Console.WriteLine(" BYE!!!");
Console.ReadLine();//pause statement
}
}
Nav234, if this helps please login to Mark As Answer. | Alert Moderator