Професионална програма
Loading...
+ Нов въпрос
PShterev avatar PShterev 1 Точки

Exercise: Data Types and Variables - 10. *Poke Mon

Здравейте,

може ли някой да ми помогне с решението на тази задача? В Judge, следният код ми дава 60/100:

 

using System;

namespace PokeMon
{
    class Program
    {
        static void Main(string[] args)
        {
            int pokePower = int.Parse(Console.ReadLine());
            int pokePowerCurrent = pokePower;
            int distanceBetwTargets = int.Parse(Console.ReadLine());
            int exhaustionFactor = int.Parse(Console.ReadLine());
            int hitTargets = 0;

            do
            {
                pokePowerCurrent -= distanceBetwTargets;
                hitTargets++;

                if (pokePowerCurrent == pokePower / 2.0 && exhaustionFactor != 0)
                {
                    pokePowerCurrent = pokePowerCurrent / exhaustionFactor;
                }

            } while (pokePowerCurrent > distanceBetwTargets);

            Console.WriteLine(pokePowerCurrent);
            Console.WriteLine(hitTargets);
        }
    }
}

 

Благодаря предварително.

Тагове:
1
C# Fundamentals
Axiomatik avatar Axiomatik 1581 Точки
Best Answer

Best,

 

using System;

namespace PokeMon
{
    class Program
    {
        static void Main(string[] args)
        {
            int pokePower = int.Parse(Console.ReadLine());
            int distanceBetwTargets = int.Parse(Console.ReadLine());
            int exhaustionFactor = int.Parse(Console.ReadLine());
            double pokePowerCurrent = pokePower * 0.5;
            int hitTargets = 0;

            //do
            //{
            //    pokePowerCurrent -= distanceBetwTargets;
            //    hitTargets++;

            //    if (pokePowerCurrent == pokePower / 2.0 && exhaustionFactor != 0)
            //    {
            //        pokePowerCurrent = pokePowerCurrent / exhaustionFactor;
            //    }

            //} while (pokePowerCurrent > distanceBetwTargets);


            while (pokePowerCurrent >= distanceBetwTargets)
            {
                hitTargets++;
                pokePowerCurrent -= distanceBetwTargets;

                if (pokePower == pokePowerCurrent)
                {
                    pokePower /= exhaustionFactor;
                }
            }

            Console.WriteLine(pokePowerCurrent);
            Console.WriteLine(hitTargets);
        }
    }
}

0
Aleksandar.Hristov9 avatar Aleksandar.Hristov9 11 Точки

using System;
    using System.Linq;
    using System.Text;
    using System.Globalization;
    using System.Diagnostics.Tracing;
    using System.Collections.Generic;
using System.Numerics;

namespace PokeMon

{
    public class Startup
    {
        
        public static void Main()
        {
            int N = int.Parse(Console.ReadLine());
            int M = int.Parse(Console.ReadLine());
            int Y = int.Parse(Console.ReadLine());
            double fiftyPercent = N * 0.5;
            int totalPoked = 0;
            while (N >= M)
            {
                N -= M;
                totalPoked++;
                if (N == fiftyPercent && Y != 0)
                {
                    N /= Y;
                }
              
            }
            Console.WriteLine(N);
            Console.WriteLine(totalPoked);
        }
    }
}

1
16/01/2021 05:34:33
krum_43 avatar krum_43 670 Точки

Решението ти е вярно като е необходимо да добавиш едно равенство при проверката:

while (pokePowerCurrent >= distanceBetwTargets);

С този код вземаш 100/100.

 

0