Софтуерно Инженерство
Loading...
danail2003 avatar danail2003 4 Точки

11. *Snowballs

Здравейте, дава ми 90/100. Благодаря предварително!

 

using System;

namespace Snowballs
{
    class Program
    {
        static void Main(string[] args)
        {
            int number = int.Parse(Console.ReadLine());
            int counter = 0;
            double maxValue = double.MinValue;
            int endSnowball = 0;
            int endSnowballTime = 0;
            int endSnowballQuality = 0;

            while (counter < number)
            {
                int snowball = int.Parse(Console.ReadLine());
                int snowballTime = int.Parse(Console.ReadLine());
                int snowballQuality = int.Parse(Console.ReadLine());
                double formula = Math.Pow(snowball / snowballTime, snowballQuality);               

                if (formula > maxValue)
                {
                    maxValue = formula;
                    endSnowball = snowball;
                    endSnowballTime = snowballTime;
                    endSnowballQuality = snowballQuality;
                }

                counter++;
            }
            Console.WriteLine($"{endSnowball} : {endSnowballTime} = {maxValue} ({endSnowballQuality})");
        }
    }
}
 

*Snowballs

Tony and Andi love playing in the snow and having snowball fights, but they always argue which makes the best snowballs. They have decided to involve you in their fray, by making you write a program, which calculates snowball data, and outputs the best snowball value.

You will receive N – an integer, the number of snowballs being made by Tony and Andi.
For each snowball you will receive 3 input lines:

  • On the first line you will get the snowballSnow – an integer.
  • On the second line you will get the snowballTime – an integer.
  • On the third line you will get the snowballQuality – an integer.

For each snowball you must calculate its snowballValue by the following formula:

(snowballSnow / snowballTime) ^ snowballQuality

At the end you must print the highest calculated snowballValue.

Input

  • On the first input line you will receive N – the number of snowballs.
  • On the next N * 3 input lines you will be receiving data about snowballs.

Output

  • As output you must print the highest calculated snowballValue, by the formula, specified above.
  • The output format is:
    {snowballSnow} : {snowballTime} = {snowballValue} ({snowballQuality})

Constraints

  • The number of snowballs (N) will be an integer in range [0, 100].
  • The snowballSnow is an integer in range [0, 1000].
  • The snowballTime is an integer in range [1, 500].
  • The snowballQuality is an integer in range [0, 100].
Тагове:
0
Fundamentals Module
svetoslav_0 avatar svetoslav_0 1006 Точки

Здравей! 

Решавал съм тази задача преди доста време, но мисля, че се сещам къде е проблемът тук. Math.Pow връща double, а резултатът на последния тест е много по-голяма стойност от тази, която би могла да побере double. Решението е просто: напиши си един метод (например pow), които да връща много по-големи стойности, например long. 

Успех!

0
24/07/2019 21:34:02
danail2003 avatar danail2003 4 Точки

Благодаря!

0