что значит "((х - PullRequest
       3

что значит "((х

1 голос
/ 08 января 2020

это функция.

int find(int x, int y){
    return( (x<y) ? 0 : (x-y) );
    }

когда мы выполним find(x,find(x,y)), она даст минимум x и y. Я не понимаю, как это работает, чтобы дать минимум. что означает "( (x<y) ? 0 : (x-y) ) ." в C ++?

1 Ответ

0 голосов
/ 08 января 2020

Очень интересный код, чтобы найти минимум, и он работает!

Единственное ограничение, числа должны быть положительными!

Смысл прост: когда x < y мы возвращаем 0, в противном случае мы возвращаем x - y.

Теперь рассмотрим все возможные случаи с 0

x

    find(x, find(x,y)) == find(x, 0) == x - 0 == x == min(x, y)

x == y:

    find(x, find(x,y)) == find(x, x - y) == find(x, 0) == x - 0 == x == min(x, y)

x> y:

    find(x, find(x,y)) == find(x, x - y) == x - (x - y) == y == min(x, y)

с отрицательными числами не работает.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...