Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > .NET для новичков > Остаток от деления


Автор: marhatter 8.4.2013, 19:30
Здравствуйте.  Есть задачка, очень простая, но не могу сообразить ))). Есть цикл(пусть будет по P) от 1 до 2000. Вывести следующее:
Код

если (P % 3 == 0) Console.Writeln("На три ");
если (P % 5 == 0) Console.Writeln("На пять ");
если (P % 3 == 0) && (P % 5 == 0) Console.Writeln("На три и на пять ");
если ни одно из условий не выполняется Console.Writeln(i.ToString());

Причем если выполяентся (P % 3 == 0) && (P % 5 == 0) Console.Writeln("На три и на пять "), то не выводить  Console.Writeln("На три "), Console.Writeln("На пять ");


Автор: 586 8.4.2013, 20:11
Код
if(P % 3 == 0)
    if(P % 5 == 0)
        Console.WriteLine("На три и на пять ");
    else
        Console.WriteLine("На три ");
else
    if(P % 5 == 0)
        Console.WriteLine("На пять ");
    else
        Console.WriteLine(P.ToString());

Автор: marhatter 8.4.2013, 20:52
Как же просто!!! Спасибо!!!

Автор: diadiavova 8.4.2013, 23:58
Если число делится без остатка на и на пять, значит оно без остатка делится и на 15. Так что достаточно сначала проверить делимость на 15, потом на три и пять, и выводить на консоль первое совпадение, безо всяких вложенных ифов

Автор: marhatter 9.4.2013, 08:01
diadiavova, все равно будут вложенные IF или я снова недопонимаю
Код

for (int i = 1; i < 1000; i++)
{
  if (i % 15 == 0)
  {
    Console.WriteLine("На 15");
  }
  else
  {
    if (i % 3 == 0)
    {
      Console.WriteLine("На 3");
    }
    if (i % 5 == 0)
    {
      Console.WriteLine("На 5");
    }
  }
}


Автор: diadiavova 9.4.2013, 08:48
Код


  if (i % 15 == 0) Console.WriteLine("На 15");
  else if (i % 3 == 0) Console.WriteLine("На 3");
  else if (i % 5 == 0) Console.WriteLine("На 5");
  else Console.WriteLine("Ни на что");

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)