étant donné un nombre p , trouver deux éléments d'un tableau dont le produit = P

Je suis à la recherche d'une solution pour :

Given a array and a number P , find two numbers in array whose product equals P.

Cherche une solution meilleure que O(n*2) . Je suis d'accord avec l'utilisation de l'espace supplémentaire ou d'autres discbased .Toute aide est appréciée ?

cela sonne vraiment comme des devoirs.
Existe-il des restrictions sur les types de nombres (comme par exemple les nombres entiers, tout entiers positifs, etc.)?
pas de restrictions sur le nombre.
si il n'y a pas de restrictions sur le nombre (à part sans doute vrai) la probabilité qu'il existe une solution se rapproche de zéro, surtout si l'un ou plusieurs des numéros est un flottant rapprochement. Classique papier: docs.sun.com/source/806-3568/ncg_goldberg.html

OriginalL'auteur TopCoder | 2010-09-21