Invalid Number - сбъркано условие или моя грешка?
В условието на задачата пише:
"Дадено число е валидно, ако е в диапазона [100…200] или е 0. Да се напише програма, която въвежда цяло число и печата “invalid” ако въведеното число не е валидно."
Тоест, да изписва "невалидно", ако числото е по-малко от 0, по-малко 100 или е по-голямо от 200.
И аз си написах кода според това условие. Като тествам с различните входове, дадени в задачата, програмата си изпълнява всичко както трябва. Примерно, като въведа -1, изписва "invalid". Като въведа 210, пак изписва същото. Значи, съдейки по условието, програмата работи коректно.
Само че Джъдж ми дава 80 точки, вместо 100 и като цъкна на "подробности", пише "очакван изход: "invalid"", "твоят изход: ". Единственото място, където няма изход, е ако числото е валидно, както е в условието.
Та, задачата ли е сбъркана или аз пропускам нещо?
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace InvalidNumber
{
class Program
{
static void Main(string[] args)
{
//var
int num = int.Parse(Console.ReadLine());
if (num >= 100 && num <= 200 || num == 0)
{
Console.WriteLine("");
}
else if (num < 0 || num > 200)
{
Console.WriteLine("invalid");
}
}
}
}
Ето и мое решение:
using System;
namespace Invalid_Number
{
class Program
{
static void Main(string[] args)
{
int num = int.Parse(Console.ReadLine());
if (!(num >= 100 && num <= 200 || num == 0))
{
Console.WriteLine("invalid");
}
else
{
Console.WriteLine("");
}
}
}
}
Като за по лесно :D