Loading...
arsoman avatar arsoman 419 Точки

Извинете, някой може ли да помогне! Пиша код абсолютно правилно и вярно смята, но вече на втора задача в системата за оценка ме дъни и дава 0 точки.... Може ли да видите кода и да ми кажете откъде такава чак грешка...

http://pastebin.com/zeVsi6y9

Ще бъда благодарен много, доста се учих тук и сега заради някаква хитрост да не мога да мина....Не е честно!

0
dimitarstoyanov90 avatar dimitarstoyanov90 164 Точки

Ето едно мое примерно решение

using System;
using System.Numerics;

    class Tribonacci
    {
         static void Main()
            {

                  BigInteger t1 = BigInteger.Parse(Console.ReadLine());
                  BigInteger t2 = BigInteger.Parse(Console.ReadLine());
                  BigInteger t3 = BigInteger.Parse(Console.ReadLine());
                  int N = Convert.ToInt32(Console.ReadLine());
                  BigInteger[] arrayOfTElements = new BigInteger[N + 1];
                  arrayOfTElements[0] = t1;
                  arrayOfTElements[1] = t2;
                  arrayOfTElements[2] = t3;
                  BigInteger consecutiveElement = new BigInteger();


                  if (N == 1 || N == 2 || N == 3)
                  {
                        if (N == 1)
                        {
                              Console.WriteLine(t1);
                        }
                         else if (N == 2)
                        {
                               Console.WriteLine(t2);
                        }
                        else if (N == 3)
                        {
                               Console.WriteLine(t3);
                        }

                  }
                  else if (N > 3)
                  {
                        for (int i = 0; i < N - 3; i++)
                        {
                                  consecutiveElement = arrayOfTElements[i] + arrayOfTElements[i + 1] + arrayOfTElements[i + 2];
                                  arrayOfTElements[i + 3] = consecutiveElement;
                        }
                  Console.WriteLine(consecutiveElement);
        }
    }
}

 

0
arsoman avatar arsoman 419 Точки

Това отнема много памет, гледам логиката е същата, защо ми дава чак 0 точки, при теб пак добре-60 точки....

0
arsoman avatar arsoman 419 Точки

Май го разбрах, тук ползвам излишни CW в кода, макар че придават готин външен вид, ги счита за грешки....

0
a_rusenov avatar a_rusenov 1103 Точки

Всякакво отпечатване на конзолата, което не е по условие, ще ти доведе грешка. Това е така, защото изходът се сравнява с очаквани резултати и при най-малката разлика тестът става невалиден. 

Просто махни Write-oвете, смени decimal с BigInteger(добави референция от References отдясно за System.Numerics, след това сложи using System.Numerics; горе в кода) и ти изкарва 90/100. Decimal се използва главно за дроби. За другите 10 точки помисли кое n може би се иска.

0
dimitarstoyanov90 avatar dimitarstoyanov90 164 Точки

Дава ми 100/100 точки :)

 

0
dimitarstoyanov90 avatar dimitarstoyanov90 164 Точки

Ето ти и още едим мой вариант: 

using System;
using System.Numerics;
     class Program
     {
          static void Main()
          {
                BigInteger t1 = BigInteger.Parse(Console.ReadLine());
                BigInteger t2 = BigInteger.Parse(Console.ReadLine());
                BigInteger t3 = BigInteger.Parse(Console.ReadLine());
                BigInteger n = BigInteger.Parse(Console.ReadLine());
                BigInteger result = 0;


                if (n == 1)
                {
                      Console.WriteLine(t1);
                }
                else if (n == 2)
                {
                      Console.WriteLine(t2);
                }
                else if (n == 3)
                {
                     Console.WriteLine(t3);
                }
                else
                {
                      for (BigInteger i = 4; i <= n; i++)
                      {
                            result = t1 + t2 + t3;
                            t1 = t2;
                            t2 = t3;
                            t3 = result;
                     }
                     Console.WriteLine(result);
         }
    }
}

0
arsoman avatar arsoman 419 Точки

Благодаря ви много! Снощи бая си поиграх и наистина от това е разликата, странно, би трябвало дори да имаме бонус за по-красиви и подсказващи програми....

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