Могат ли вече да се тестват задачи на изпитната страница на Софт Уни и кои са тези задачи?
Тези задачи, дадените за подготовката - могат ли да се тестват в изпитната страницана Софт Уни ?
Пригодени ли са за това ?
Тези задачи, дадените за подготовката - могат ли да се тестват в изпитната страницана Софт Уни ?
Пригодени ли са за това ?
Извинете, някой може ли да помогне! Пиша код абсолютно правилно и вярно смята, но вече на втора задача в системата за оценка ме дъни и дава 0 точки.... Може ли да видите кода и да ми кажете откъде такава чак грешка...
Ще бъда благодарен много, доста се учих тук и сега заради някаква хитрост да не мога да мина....Не е честно!
Ето едно мое примерно решение
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 точки, при теб пак добре-60 точки....
Май го разбрах, тук ползвам излишни CW в кода, макар че придават готин външен вид, ги счита за грешки....
Всякакво отпечатване на конзолата, което не е по условие, ще ти доведе грешка. Това е така, защото изходът се сравнява с очаквани резултати и при най-малката разлика тестът става невалиден.
Просто махни Write-oвете, смени decimal с BigInteger(добави референция от References отдясно за System.Numerics, след това сложи using System.Numerics; горе в кода) и ти изкарва 90/100. Decimal се използва главно за дроби. За другите 10 точки помисли кое n може би се иска.
Дава ми 100/100 точки :)
Ето ти и още едим мой вариант:
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);
}
}
}
Благодаря ви много! Снощи бая си поиграх и наистина от това е разликата, странно, би трябвало дори да имаме бонус за по-красиви и подсказващи програми....