C'est aussi l'une des questions d'interview auxquelles j'ai été confrontée récemment.Sélection de la combinaison à l'aide de linq
Description:
La tâche est de 100 $ (S'il vous plaît envisager une monnaie) sera donné à me.I besoin d'acheter trois articles Itema, elementB, coût de itemC.The (je ne suis pas sûr de 0,25 $ ou 0.75 $ sont significatifs, alors pensez-y comme une autre devise) itemA = 0.25 $, itemB = 0.75 $ et itemC = 20 $. J'ai besoin d'acheter 100 articles exactement à 100 $ (je peux acheter n'importe quel nombre de itemA, itemB, ItemC mais le total devrait être 100).
Solution: à l'aide de la boucle i résolu.
for (int i = 1; i <= 100; i++)
{
for (int j = 1; j <= 100; j++)
{
for (int k = 1; k <= 20; k++)
{
if ((i * 0.25) + (j * 0.75) + (k * 5) == 100 && (i+j+k)==100)
{
Console.WriteLine("item1={0},item2={1},item3={2}", i, j, k);
}
}
}
}
J'obtenu les résultats aussi.
item1=1 , item2=93,item3=6 // cost =100,items=100
item1=18,item2=74,item3=8 //cost=100,items=100
item1=35,item2=55,item3=10 //cost=100,items=100
item1=52,item2=36,item3=12 //cost=100,items=100
item1=69,item2=17,item3=14 //cost=100,items=100
La tâche réelle était de donner la démo en utilisant « LINQ » .Comment puis-je résoudre le même LINQ?
(De toute façon l'interview était terminée.Ou bien, dans la prochaine interview, personne ne le demandera).