-1

我有这个代码来解决我的问题。对于一些测试,我几乎就在那里,我得到的结果略有不同。正如您将看到的,变量 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);
            }

        }
    }
}
4

1 回答 1

0
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace CakeTycoon
{
    class Program
    {
        static void Main(string[] args)
        {
            ulong cakesWanted = ulong.Parse(Console.ReadLine());
            double kilosPerCake = double.Parse(Console.ReadLine());
            uint flourKilos = uint.Parse(Console.ReadLine());
            uint truffles = uint.Parse(Console.ReadLine());
            uint trufflePrice = uint.Parse(Console.ReadLine());

            ulong truffleCost = (ulong)truffles * trufflePrice;
            double cakesProduced = Math.Floor(flourKilos / kilosPerCake);

            if (cakesProduced < cakesWanted)
            {
                double kilogramsNeeded = (kilosPerCake * cakesWanted) - flourKilos;
                Console.WriteLine("Can make only {0} cakes, need {1:F2} kg more flour", cakesProduced, kilogramsNeeded);

            }
            else
            {
                double cakeCost = ((double)truffleCost / cakesWanted) * 1.25d;
                Console.WriteLine("All products available, price of a cake: {0:F2}", cakeCost);
            }
        }
    }
}
于 2016-04-16T18:50:21.203 回答