Число, имеющее больше всего делителей - 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);
    }
}

Оцени полезность:

15   голосов , оценка 4.333 из 5
Похожие ответы