Loading...
AsenCME avatar AsenCME 9 Точки

[C# Advanced] Problem 12. Character Multiplication

Здравейте,

Тази задача съм я решавал със 100/100 и преди, но сега се опитвам да я реша по друг начин, който все си мисля, че е по-добър обаче не минава един от тестовете в Judge-a. Ако някой може да ме светне защо греша на последния тест, ще съм много благодарен.

Това е най-простото решение и дава 100/100;

А това е новото решение дето дава само 80/100;

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

Тагове:
0
C# Advanced 11/06/2017 16:23:52
kolioi avatar kolioi 641 Точки

Не знам какво е условието на задачата, но доколкото разбирам от кода (който дава 100/100 точки) трябва да намериш сумата от произведението на съответните елементи в двата масива, след което да добавиш сумата от оставащите числа в по-дългия масив. Формулирана по този начин, задачата има много лесно решение: просто допълваш по-късия масив с единици (числото 1) и намираш сумата от съответните произведения в един цикъл.

Предишния ми коментар може да го игнорираш, сега разбрах какво прави програмата. Ako str1 е по-дългия стринг, може да напишеш всичко в един цикъл така

long sum = 0;
for (int i = 0; i < str1.Length; i++)
{
    if (i < str2.Length)
    {
        sum += str1[i] * str2[i];
    }
    else
    {
        sum += str1[i];
    }
}

А ако str1 е по-късия от двата, може да ги размениш например така

if (str1.Length < str2.Length)
{
    string temp = str1;
    str1 = str2;
    str2 = temp;           
}

Извинявам се за недоразумението с предишния ми коментар.

0
09/06/2017 19:21:45
maya.peneva avatar maya.peneva 18 Точки

Сплитването ти е проблема. Пробвах с обичайното: Console.ReadLine().Split() и стана 100/100 :)
Сумата и числата няма нужда да са long.

0
AsenCME avatar AsenCME 9 Точки

Благодаря на двамата, които ми се притекоха на помощ! Помогнахте ми!

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