Cette idée pour la recherche est de TI-Basic Developer, et est tout à fait brillante:
Disons que vous avez supposer une valeur nommée x
et une liste nommée L
.
:If max(1/1+(abs(L-x)))=1
:Then
//value is in list
:Else
//value is not in list
:End
Et c'est tout!
Voici comment cela fonctionne:
abs(L-x)
- Tout d'abord, il le nombre retranche de recherché toutes les valeurs d'une liste et obtient sa valeur absolue.
max(1/1+(abs(L-x)))
- Après cela, il recherche le plus grand élément en elle, ajoute à 1 et divise 1 par elle.
:If max(1/1+(abs(L-x)))=1
- Si c'est 1, que la valeur est dans la liste. Pourquoi? Parce que
1/1 + 0
est 1 (un nombre moins lui-même est toujours 0) et 0 est la valeur maximale possible pour 1/1 + x
(pour les nombres positifs, bien sûr). Si le maximum est inférieur à 1, c'est certain que la valeur recherchée n'est pas dans la liste.
Wow, cela est encore plus propre que ma solution. Agréable! – the4kman