Предмет: Информатика, автор: karishapoy14

Посчитать сколько делителей имеет число n в интервале (a;b).Написать код в С#!!!! Срочноооо!!!!Очень срочно!!!

Ответы

Автор ответа: KnowsUser1
1

Ответ:

using System;

namespace Global

{

   class Program

   {

       public string[] range = new string[2];

       static void Main(string[] argv)

       {

           Program Obj = new Program();

           Obj.Calculate();

       }

       public void Calculate()

       {

           string iN = Console.ReadLine();

           int n = Convert.ToInt16(iN);

           Console.WriteLine("Введите диапазон (2 числа через пробел)");

           range = (Console.ReadLine().Split(' '));

           int s = 0;

           int b = getArrayItem(1);

           for (int a = getArrayItem(0); a<b+1; a++)  

           {

               if (n % a == 0)

               {

                   s++;

               }

           }

           Console.WriteLine(s);

           Console.ReadKey();

       }

       public int getArrayItem(int item)

       {

           return Convert.ToInt16(range[item]);

       }

   }

}

Объяснение:


karishapoy14: Спасибо большое за код!!!Но у меня почему-то строка: “if(n%a == 0)”-выделяется желтым и пишет,что это : «попытка деления на нуль»!!??
KnowsUser1: Ну, если указать диапазон от 0, то он будет пытаться делить на ноль. Можно добавить конструкцию try-catch, и если возникает ошибка деления на ноль, просто пропустить итерацию. При сборке программы ошибок возникать не должно, пишу в VS 17, он не даст скомпилить кривой код
karishapoy14: А как добавить и куда эту конструкцию try-catch???
karishapoy14: По возможности,пожалуйста отредактируйте данный написанный код и допишите туда эту конструкцию
KnowsUser1: Судя по всему, раз на ответе уже стоит "спасибо" от автора вопроса, редактировать его нельзя, попробую объяснить. Внутри цикла for() { } добавьте ключевое слово try { }, и в фигурные скобки поместите блок if. Ниже, после закрытия скобок блока try напишите ключевое слово catch { }, в фигурные скобки поместите инструкцию continue. Это простейший вид конструкции обработки исключений, он просто будет пропускать итерацию в случае возникновения ошибки.
try
{
if (n % a == 0)
{
s++;
}
}
catch
{
continue;
}
Похожие вопросы
Предмет: Математика, автор: 79218824559