Число, имеющее больше всего делителей - C#
Формулировка задачи:
Даны два натуральных числа M и N. Составить функцию, возвращающую в
[M; N], число, имеющее больше всего делителей.
Решение задачи: «Число, имеющее больше всего делителей»
textual
Листинг программы
using System;
class demo
{
static int QuanOfFactors(int c)
{
int n=0;
for (int i = 1; i <= c; i++)
if (c % i == 0) n += 1;
return n;
}
static void Main()
{
int maxquan = -1;
string nums="";
Console.Write("введите M : ");
int M = Int32.Parse(Console.ReadLine());
Console.Write("введите N : ");
int N = Int32.Parse(Console.ReadLine());
if (M <= N)
{
for (int i = M; i <= N; i++)
if (QuanOfFactors(i) > maxquan)
{
maxquan = QuanOfFactors(i);
nums = Convert.ToString(i);
}
else if (QuanOfFactors(i) == maxquan) nums += ", " + Convert.ToString(i);
Console.WriteLine("больше всего делителей у числа(ел) {0}. Их колво = {1}", nums, maxquan);
}
else Console.WriteLine("неверный формат");
Console.ReadKey(true);
}
}