Loading...
m.atanasov avatar m.atanasov 0 Точки

Loops - Homework , Problem 8

Здравейте,

Имам малко нужда от помощ , защото не мога да си намеря грешката на 8-ма задача (Catalan_Numbers) .

Когато въведа число и не ми изкарва нищо, дори и (Press any key to continue).

Ето го и кода:

 Console.Write("Enter number between 1 and 100 (n):");
            int n = int.Parse(Console.ReadLine());
            if (1 < n && n < 100)
            {
                BigInteger doubleN = 2 * n;
                BigInteger nPlus = n + 1;
                BigInteger num = 1;
                for (int i = 1; i < doubleN; i++)
                {
                    doubleN *= i;
                    if (i<nPlus)
                    {
                        nPlus *= i;

                    }
                    else
                    {
                        continue;
                    }
                    if (i<=n)
                    {
                        num *= i;

                    }
                    else
                    {
                        continue;
                    }
                }
                BigInteger result = doubleN / (nPlus * num);
                Console.WriteLine("Catalan(n) = "+ result);

            }

 

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

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

Здравей,

имаш няколко грешки:

1. doubleN, nPlus, num трябва да са 1 в момента на инициализацията, защото, когато влезеш в фор цикъла и започнеш да смяташ факториел, началната стойност трябва да е 1.

Пример:
n = 1
for (i = 2; i <= 5; i++)
n *= i (1 * 2)
n *= i (2 * 3)
n *= i (6 * 4)
n *= i (24 * 5)

n = 5! = 120

2. Фор цикъла трябва да го въртиш до <= , както и двете проверки, те също трявба да бъдат ако <=. Елсовете са излишни.

 

Ето как ти преработих кода:

https://gist.github.com/vdonchev/5b1eb89970f02ad16951

1
14/08/2015 10:38:16
m.atanasov avatar m.atanasov 0 Точки

Благодаря за поправката!

Вчера се взирах един час в кода и не можах да си открия грешката. :D

 

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