Професионална програма
Loading...
Antoni_Danov avatar Antoni_Danov 1 Точки

Methods C# - Factorial division

Здравейте на всички :)
Чудех се дали някой може да удари едно рамо за съвет относно решението на задача No.8. В Judge ми дава 60 от 100, но не ми показва какви са грешните тестове.

Ето и връзка към моето решение: http://pastebin.com/cjkX6tDj


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

Тагове:
0
Fundamentals Module
Deni95 avatar Deni95 2 Точки

Здравейте , трябва да промените променливите с long.

Eто  решение 100 / 100 :)

using System;

namespace _08._Factorial_Division___Exercise
{
    class Program
    {
        static void Main(string[] args)
        {
            int firstNum = int.Parse(Console.ReadLine());
            int secondNum= int.Parse(Console.ReadLine());

            long factorielOne = GetFactorielFirstNumber(firstNum);
            long factorielTwo = GetFactorielSecondNumber(secondNum);

            double result = (factorielOne * 1.0 / factorielTwo);
            Console.WriteLine($"{result:F2}");
        }

        static long GetFactorielFirstNumber(int firstNum)
        {
           long factorialOne = 1;

            for (int i = 1; i <= firstNum; i++)
            {
                factorialOne = factorialOne * i;
            }
            return factorialOne;
        }

        static long GetFactorielSecondNumber(int secondNum)
        {
            long factorialTwo = 1;

            for (int i = 1; i <= secondNum; i++)
            {
                factorialTwo = factorialTwo * i;
            }
            return factorialTwo;
        }      
    }        
}

 

0
15/10/2019 17:57:55
Antoni_Danov avatar Antoni_Danov 1 Точки

Благодаря за отговора, решението е интересно, но исках да опитам така както го бях започнал ;)

0
tonkatawe avatar tonkatawe 3 Точки

И аз се чудех,къде бъркам, но защо променливите да са различни от integer, при положение, че условието гласи "Read two integer numbers. Calculate factorial of each number. Divide the first result by the second and print the division formatted to the second decimal point."

Но все пак да, като се сменят с double или с long и става 100/100 :)

0
Ivan_Zzdravkov avatar Ivan_Zzdravkov 2 Точки

 Според мен това е уловката. Примерно фактуриел от 100 е 9,332 621 544 × 10^157

https://pastebin.com/5Xd1q4h4

аз дори използвах decimal :D 

0
09/07/2021 14:19:23