我有这个代码来解决我的问题。对于一些测试,我几乎就在那里,我得到的结果略有不同。正如您将看到的,变量 c 应该是“十进制”。然而,当它乘以变量“n”时。这就是问题:
你的任务是编写一个程序来计算 Ivancho 当天可以制作的蛋糕数量以及每个蛋糕的价格。你会得到一些数字。Ivancho 当天想要的蛋糕数量、制作一个蛋糕所需的面粉公斤数、供应商可以给您的面粉公斤数、您可以购买的松露数量以及每个松露的价格。如果 Ivancho 有足够的面粉来制作他想要的蛋糕数量,他会完全制作这个数量,剩余的面粉将被丢弃,您应该在控制台上打印“所有可用的产品,蛋糕的价格:{一个蛋糕的价格} ”。或者,如果没有足够的面粉,您应该将可以生产的蛋糕数量四舍五入到整数,并以“只能制作{可以生产的蛋糕数量}蛋糕”的格式在控制台上打印它们,需要{需要的面粉公斤数} 公斤更多的面粉”,其中所需的面粉公斤数是制作 Ivancho 想要的蛋糕量所需的面粉公斤数与可用面粉公斤数之间的差值。输入 应从控制台读取输入数据。它由五个输入值组成,每个输入值位于单独的一行: • 数字 n – Ivancho 想要的蛋糕数量。• 数字c——制作一个蛋糕所需的面粉千克数。• 数字 f – 可用的面粉公斤数。• 数字 t – 可用松露的数量。• 数字 p – 一个松露的价格。每个都在一个单独的行中: • 数量 n – Ivancho 想要的蛋糕数量。• 数字c——制作一个蛋糕所需的面粉千克数。• 数字 f – 可用的面粉公斤数。• 数字 t – 可用松露的数量。• 数字 p – 一个松露的价格。每个都在一个单独的行中: • 数量 n – Ivancho 想要的蛋糕数量。• 数字c——制作一个蛋糕所需的面粉千克数。• 数字 f – 可用的面粉公斤数。• 数字 t – 可用松露的数量。• 数字 p – 一个松露的价格。
如果没有足够的面粉来制作 Ivancho 想要在控制台上打印的蛋糕数量:有足够的面粉: 可以生产的蛋糕数量必须是整数;蛋糕的价格和所需面粉的公斤数必须四舍五入到小数点后两位数。约束 数字 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);
}
}
}
}