私の問題に対してこのコードがあります。いくつかのテストでは、わずかに異なる結果が得られます。ご覧のとおり、変数 c は「10 進数」でなければなりません。ただし、変数「n」で乗算する場合。これが問題です:
あなたの仕事は、Ivancho がその日に作ることができるケーキの量と 1 つのケーキの価格を計算するプログラムを作成することです。いくつかの数字が与えられます。Ivancho がその日に欲しいケーキの数、1 つのケーキを作るのに必要な小麦粉のキログラム、プロバイダーが提供できる小麦粉のキログラム、購入できるトリュフの量、および各トリュフの価格。Ivancho が必要な量のケーキを作るのに十分な小麦粉を持っている場合、彼はちょうどその量を作ります。残りの小麦粉は破棄され、コンソールに「すべての製品が利用可能です。ケーキの価格: {1 ケーキの価格}」と印刷する必要があります。 」。または、十分な小麦粉がない場合は、製造できるケーキの数を整数に切り捨てて、コンソールに「{製造できるケーキの数} のケーキしか作ることができません。{キログラムの小麦粉が必要です} kg の小麦粉が必要です」ここで、必要な小麦粉のキログラムは、Ivancho が望んでいた量のケーキを作るのに必要な小麦粉のキログラムと、利用可能な小麦粉のキログラムとの差です。入力 入力データはコンソールから読み取る必要があります。これは 5 つの入力値で構成され、それぞれが別の行に表示されます。 • 数値 n – Ivancho が必要とするケーキの量。• 数値 c – 1 つのケーキを作るのに必要な小麦粉のキログラム。• 数 f – 利用可能な小麦粉のキログラム。• 数 t – 利用可能なトリュフの量。• 数 p – トリュフ 1 個の価格。それぞれ別の行に: • 数 n – Ivancho が欲しいケーキの量。• 数値 c – 1 つのケーキを作るのに必要な小麦粉のキログラム。• 数 f – 利用可能な小麦粉のキログラム。• 数 t – 利用可能なトリュフの量。• 数 p – トリュフ 1 個の価格。それぞれ別の行に: • 数 n – Ivancho が欲しいケーキの量。• 数値 c – 1 つのケーキを作るのに必要な小麦粉のキログラム。• 数 f – 利用可能な小麦粉のキログラム。• 数 t – 利用可能なトリュフの量。• 数 p – トリュフ 1 個の価格。
Ivancho が希望する量のケーキを作るのに十分な小麦粉がない場合は、コンソールに次のように印刷します。十分な小麦粉があります: 製造できるケーキの数は整数でなければなりません。ケーキの価格と必要な小麦粉のキログラムは、小数点以下 2 桁に丸める必要があります。制約 数値 n は範囲 [1 … 18 446 744 073 709 551 615] の有効な整数になります 数値 c は範囲 [0 … 7.9 x 1028] の浮動小数点数になります。 数値 f、t、および p は、[0 ... 4 294 967 295] の範囲の有効な整数です。 システムの使用。System.Collections.Generic の使用; System.Linq を使用します。System.Text を使用します。System.Threading.Tasks の使用;
namespace CakeTycoon
{
class Program
{
static void Main(string[] args)
{
var n = ulong.Parse(Console.ReadLine()); // amount of cakes George wants
var c = decimal.Parse(Console.ReadLine()); // kg of fllour needed to make 1 cake
var f = uint.Parse(Console.ReadLine()); // kg of flour available
var t = uint.Parse(Console.ReadLine()); // amount of truffles available
var p = uint.Parse(Console.ReadLine()); // price of one truffle
var truffelCost = t * p; // total price of truffles
var cakesCanBeMade = Math.Floor(f / c );
var cakePrice = (truffelCost / n) * 1.25;
var flourNeeded = 0.00;
var totalFlour = n * c;
if (cakesCanBeMade >= n)
{
Console.WriteLine("All products available, price of a cake: {0}", cakePrice);
}
else if (cakesCanBeMade < n)
{
flourNeeded = totalFlour - f ;
Console.WriteLine("Can make only {0} cakes, need {1}kg more flour", cakesCanBeMade,flourNeeded);
}
}
}
}