Професионална програма
Loading...
YavorSpassov+deleted! avatar YavorSpassov+deleted! 133 Точки

Math Power

Question

Не е обяснено как се подава входът. Предполатам, че е в два реда, съответно за number и power. Написах 2 решения с Math.Pow() и с цикъл, но и при двете ми дава резултат от 90%. Интересува ме къде е проблемът. Решенията са следните:

 

        static void Main(string[] args)
        {
            double number = double.Parse(Console.ReadLine());
            int power = int.Parse(Console.ReadLine());

            double result = raiseToPower(number, power);
            Console.WriteLine(result);
        }
        private static double raiseToPower(double number, int power)
        {
            return Math.Pow(number, power);
        }
        static void Main(string[] args)
        {
            double number = double.Parse(Console.ReadLine());
            int power = int.Parse(Console.ReadLine());

            double result = raiseToPower(number, power);
            Console.WriteLine(result);
        }
        private static double raiseToPower(double number, int power)
        {
            double result = number;
            for (int num = 1; num < power; num++)
            {
                result *= number;
            }
            return result;
        }

 

1
Programming Fundamentals
Maria_ls avatar Maria_ls 383 Точки

На тази задача примерния input ме хвърли в размисъл. Никъде не е посочено, че входа ще дойде на два реда - по един за основа и за степен. Не е казано и в какъв ред, та трябва да се гадае. Дадено е някакво 2, степенувано на 8-ма степен, че и форматирано при това...

1
21/09/2016 16:30:39
YavorSpassov+deleted! avatar YavorSpassov+deleted! 133 Точки

То трудността в тази задача е във входа и в подсказката. :)

1
Maria_ls avatar Maria_ls 383 Точки

Хахах, то аз почнах да мисля алгоритми как от вход едно число на един ред, трябва да докарам 2 други - int и double, пък то каква била работата smiley Щот подсказката за метода може и нищо да не означава, ако трябва да делиш по модул и т.н. за да стигнеш до тях.

0
21/09/2016 16:36:33
YavorSpassov+deleted! avatar YavorSpassov+deleted! 133 Точки

Вариантите бяха 2 - или ги подават на 2 реда или на 1. При втория вариант се ползва масив, но тъй като не сме стигнали до масиви, реших, че входът се подава на 2 реда.

0
puffed avatar puffed 289 Точки

На два реда е най-логично да бъде. Но как може степен да бъде дробно число? 

0
YavorSpassov+deleted! avatar YavorSpassov+deleted! 133 Точки

Не е проблем. 4 на степен 1/2 е корен квадратен от 4, което е 2.

0
puffed avatar puffed 289 Точки

Да, това го има в математиката, но тук би променило изцяло логиката на метода. Няма да може да се запази същата логика с цикъла и умножението на числото по себе си. Истината е, че условието не е пълно и не се знае какъв вход да се очаква, за да се построи правилното решение.

-1