Loading...
YordanTihov avatar YordanTihov 0 Точки

Цикли - Задача 7 от домашното;

Здравейте !

Нуждая се от помощ за 7-ма задача. Програмата тръгва , но изкарва грешни стойности различни от примерите. ето и кода :

using System;
namespace ConsoleApplication18
{
    class Program
    {
        static void Main()
        {
            Console.WriteLine("Enter N=");
            int n = int.Parse(Console.ReadLine());
            Console.WriteLine("Enter K=");
            int k = int.Parse(Console.ReadLine());
            int sumK = 1;
            int sumN = 1;
            int sumM = 1;
            if (1 < k && k < n)
            {
                for (int i = 1; i < n; i++)
                {
                    sumN *= i;
                }
                for (int j = 1; j < k; j++)
                {
                    sumK *= j;
                }
                for (int m = 1; m < (k - n); m++)
                {
                    sumM *= m;
                }
                int sumF = sumN / (sumK * sumM);
                Console.WriteLine("{0}", sumF);
            }
            else
            {
                Console.WriteLine("Wrong input");
            }
            }
        }
    }

0
Programming Basics
djc_bg2015 avatar djc_bg2015 923 Точки

Здравей,

имаш 3 грешки по кода:

1. трябва да въртиш циклите до <=, а не до <, защото ако търсиш факториел от 5 = 1 * 2 * 3 * 4 * 5 а не 1 * 2 * 3 * 4

2. В третия цикъл беше обърнал местата на k и (k - n), а трябва да е (n - k)

3. Int и long не са достатъчни за да побереш резултата на факториел от 52, затова трябва да използваш BigInteger

(https://msdn.microsoft.com/en-us/library/system.numerics.biginteger(v=vs.110).aspx)

 

Ако искаш виж как съм редактирал кода ти, но аз ти предлагам първо да пробваш да си оправиш сам грешките и да видиш дали ще заработи коректно програмата.

https://gist.github.com/vdonchev/4e3a9e52a0533cd15ece

 

Поздрави!

1
12/08/2015 08:10:52
Можем ли да използваме бисквитки?
Ние използваме бисквитки и подобни технологии, за да предоставим нашите услуги. Можете да се съгласите с всички или част от тях.
Назад
Функционални
Използваме бисквитки и подобни технологии, за да предоставим нашите услуги. Използваме „сесийни“ бисквитки, за да Ви идентифицираме временно. Те се пазят само по време на активната употреба на услугите ни. След излизане от приложението, затваряне на браузъра или мобилното устройство, данните се трият. Използваме бисквитки, за да предоставим опцията „Запомни Ме“, която Ви позволява да използвате нашите услуги без да предоставяте потребителско име и парола. Допълнително е възможно да използваме бисквитки за да съхраняваме различни малки настройки, като избор на езика, позиции на менюта и персонализирано съдържание. Използваме бисквитки и за измерване на маркетинговите ни усилия.
Рекламни
Използваме бисквитки, за да измерваме маркетинг ефективността ни, броене на посещения, както и за проследяването дали дадено електронно писмо е било отворено.