2017-02-21 20 views
0

Я должен проверить, можно ли задавать диапазон для генерации случайных чисел для выражения a-b = c.Диапазон проверки допустим или нет в выражении a-b = c

Например диапазон составляет от 1 до 9 Диапазон Ь составляет от 1 до 9 и с диапазон составляет от 10 до 99

то в таком случае я должен вернуться ложным.

Мой Войти является

if (((a.Min - b.Min) <= c.Max) && ((a.Max - b.Min) >= c.Min)) 
    return true; 
    else 
    return false; 

Но это условие не удается в некоторых случаях.

Может ли кто-нибудь помочь мне в этом.

+1

* это состояние не работает в нескольких случаях * - можете ли вы опубликовать эти случаи? – RomanPerekhrest

+0

Он не работает в состоянии, таком как a от 101 до 999, b от 1 до 9 и c от 10 до 99. – user3483782

ответ

0

Я думаю, что правильное условие должно быть:

a.Max - b.Min <= c.Max 
a.Min - b.Max >= c.Min 

С вашим примером: а = [101, 999], б = [1, 9]

Минимального числом вы можете получить: a.Min - b.Max = 101 - 9 = 92

максимальное число: 999 - 1 = 998

Так что ваша логика возвращает истину, когда с = [92, 998] или любой с мин> 92 , макс. < 998, например [100, 500]