これは、私が最近直面したインタビューの質問の 1 つでもあります。
説明 :
タスクは $100 (通貨を考慮してください) が与えられます.itemA、itemB、itemC の 3 つのアイテムを購入する必要があります。通貨) itemA=0.25$、itemB=0.75$、itemC=20$。正確に100 アイテムを $100 で購入する必要があります(itemA、itemB、ItemC はいくつでも購入できますが、合計は 100 になるはずです)。
解決策: forループを使用して解決しました。
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);
}
}
}
}
結果も出ました。
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
実際のタスクは、「linq」を使用してデモを提供することでした.Linqを使用して同じ問題を解決するにはどうすればよいですか?
(とにかく面接は終わった。もちろん次の面接では誰も頼まないだろう)。