Using System; namespace ConsoleApplication2 { class Program { static void Main(string[] args) { Console.Write("введите число: "); int value = int.Parse(Console.ReadLine()); int sum = 0; for(int i = 1; i < value; i++) if (value % i == 0) sum += i; if (value == sum) Console.WriteLine("Число совершенное"); else Console.WriteLine("Число не совершенное"); Console.ReadLine(); } } }
Всё очень просто. один и тот же алгоритм для перевода из десятичного в любую другую: 1. делишь число на 16 (или 8, или 2)2. получаешь число, целую часть которого умножаешь на 16 (или 8, или 2) и полученное вычитаешь из числа в пункте 1 - получаешь остаток - цифра с нужным индексом (первый индекс #0) в десятичном представлении3. повторяешь 1 и 2 пункт для целой части числа полученного в 1 пункте после деления.4. и так до тех пор, пока целая часть от деления не будет 0
Всё очень просто. один и тот же алгоритм для перевода из десятичного в любую другую: 1. делишь число на 16 (или 8, или 2)2. получаешь число, целую часть которого умножаешь на 16 (или 8, или 2) и полученное вычитаешь из числа в пункте 1 - получаешь остаток - цифра с нужным индексом (первый индекс #0) в десятичном представлении3. повторяешь 1 и 2 пункт для целой части числа полученного в 1 пункте после деления.4. и так до тех пор, пока целая часть от деления не будет 0
namespace ConsoleApplication2
{
class Program
{
static void Main(string[] args)
{
Console.Write("введите число: ");
int value = int.Parse(Console.ReadLine());
int sum = 0;
for(int i = 1; i < value; i++)
if (value % i == 0) sum += i;
if (value == sum) Console.WriteLine("Число совершенное");
else Console.WriteLine("Число не совершенное");
Console.ReadLine();
}
}
}