Loading...

Във форума е въведено ограничение, което позволява на потребителите единствено да разглеждат публикуваните въпроси.

AlexHristov avatar AlexHristov 20 Точки

Благодаря. Интересно и кратко решение.

1
georgi.getz avatar georgi.getz 8 Точки

да кажем че minLength = 5 и maxLength = 8

първо въртиш 5 пъти (0,1,2,3,4) и после въртиш още maxLength - minLength, обаче понеже си написал '<=' въртиш още 4 пъти (0,1,2,3) така въртиш 9 вместо 8 пъти, пробвай само с '<'

0
AlexHristov avatar AlexHristov 20 Точки

Благодаря за намесата, колега. За съжаление се оказва, че не е това грешката. При проверката с последния тест от заданието, където първия стринг има само един елемент се оказва, че дава погрешен резултат, когато премахна знака за равно, а джаджа също е категоричен 60 т. Все още не мога да открия откъде идва проблема.

0
georgi.getz avatar georgi.getz 8 Точки

единственото друго, за което мога да се сетя, е да пмениш long на BigInteger, но се съмнявам чак 4 теста да оправи

все пак пробвай - using System.Numerics; и ги смени

0
AlexHristov avatar AlexHristov 20 Точки

Да, променях и типовете данни, включително и BigInteger, но задачата отново не мина всички тестове в джаджа.

0
WifiAvivi avatar WifiAvivi 151 Точки

Ето фикс на кода ти:

http://pastebin.com/k5ASvQ43

 

long или BigInteger не ти трябват, int е достатъчен за сумата. Това не съм го пипал, оправи си го ако искаш.


Предполагам, че ще разбереш грешките ти. Първия if else НЕ трябва да го има, даже в този else повтаряш операцията 

 sum += firstArr[i] * secondArr[i];

, което не трябва да се случва.

 

Също въртенето в цикъла

for (int i = minLength; i <= maxLength - minLength; i++)

го преправих на

for (int i = minLength; i < maxLength; i++)

По-горе колегата ти е обяснил защо.

 

Моля, за Best Answer за времето, което отделих да ти поръчкам кода :")

1
19/10/2016 15:53:45
AlexHristov avatar AlexHristov 20 Точки

Благодаря ти за подробното проследяване на кода.

За съжаление съм под 15 т. и не съм сигурен дали ми прие отговарянето с "най-добрия"  ;)

1
Tsekotsolov avatar Tsekotsolov 12 Точки

Ето и моят код: https://pastebin.com/fMUXLSCt

0
D77commerce avatar D77commerce 1 Точки

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

using System;

namespace _2.__Character_Multiplier
{
    class Program
    {
        static void Main(string[] args)
        {
            string[] input = Console.ReadLine()
                 .Split();
            string first = (input[0]);
          string second = (input[1]);
            char[] firstChar = input[0].ToCharArray();
            char[] secondChar = input[1].ToCharArray();
            long total = 0;
           
            int minArray = Math.Min(input[0].Length, input[1].Length);
            for (int i = 0; i < minArray; i++)
            {
                long midTotal = firstChar[i] * secondChar[i];
                total += midTotal;
            }
            if (firstChar.Length > secondChar.Length)
            {
                for (int i = 0; i < firstChar.Length-minArray; i++)
                {
                    total += firstChar[i + minArray];
                }
            }
            else
            {
                for (int i = 0; i < second.Length-minArray; i++)
                {
                    total += secondChar[i + minArray];
                }
            }
         
            Console.WriteLine(total);
            
        }
    }
}
 

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