Loading...
ibakardzhiev avatar ibakardzhiev 2 Точки

Max Combination

Нещо се затруднявам при тази задача. Дава ми 70/100. Ето и код;

 

{
            var start = int.Parse(Console.ReadLine());
            var end = int.Parse(Console.ReadLine());
            var stop = int.Parse(Console.ReadLine());
            var counter = 0;
            for (int i = start; i < start+3; i++)
            {
                for (int j = start; j <= end; j++)
                {
                    counter++;
                    if (counter > stop)
                    {
                        break;
                    }
                    Console.Write("<{0}-{1}>", i, j);
                }
            }
        }
    }
}

Тагове:
0
Programming Basics
drunin89 avatar drunin89 14 Точки

Ето моето решение:

http://pastebin.com/xvx80KVt

Мисля, че не въртиш правилно цикъла.

0
PavlinPetkov88 avatar PavlinPetkov88 24 Точки

Всичко ти е наред, само с една малка разлика
for (int i = start; i < start+3; i++)  тук в това условие.
промени for (int i = start; i <= end; i++). И ще работи.

0
i.petk0v avatar i.petk0v 56 Точки

Точно така се решава задачата.

Пропуска ти е в " по -малко или равно".

 for (int i = start; i <= start+3; i++)
            {
                for (int j = start; j <= end; j++)
                {

Просто трябва да пробваш различни вариянти за решение, а щом ти дава малко точки, значи има такива леки пропуски.

Тази задача ми изяде няколко часа на изпита :)

0
29/11/2016 07:37:14
BorislavShekerdzhiyski avatar BorislavShekerdzhiyski 2 Точки

Опитай да сложиш couter++; след if конструкцията.

Тази задача ми отне 1 час за решение на изпита.

Успех

0
i.petk0v avatar i.petk0v 56 Точки

Според мен брояча трябва да е преди if , за да може да прекъсне серията, до оказаното число.

stop == 3

counter ++ ( ако =3)

if ( stop == 3 )

{

break;

}

Ако counter е след if , а стопа е 3, то ще печата 4 пъти :)

0
ambiorix avatar ambiorix 640 Точки

Здравей. Единственото което трябва да промениш в твоя код е i < start+3  да стане i <= end и дава 100 точки.

Давам линк в който е мое решение в което има и поясняващи коментари за логиката ако ти бъдат полезни: https://dotnetfiddle.net/ihbhBb

(абстрахирай се от това че тук ползвам int вместо var, това няма значение в случая)

0
varbanov88 avatar varbanov88 38 Точки

ето моето решение, което минава със 100/100:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace _06.Battles
{
    class BattlesMain
    {
        static void Main(string[] args)
        {
            int p1 = int.Parse(Console.ReadLine());
            int p2 = int.Parse(Console.ReadLine());
            int maxBattles = int.Parse(Console.ReadLine());
            var battles = 0;

            for (int i1 = 1; i1 <= p1; i1++)
            {
                
                for (int i2 = 1; i2 <= p2; i2++)
                {
                    if (battles == maxBattles)
                    {
                        break;
                    }
                    Console.Write("({0} <-> {1}) ", i1, i2);
                    battles++;
                }
            }

        }
    }
}
 

0
StefanTep avatar StefanTep 4 Точки

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;


class Program
{
    static void Main()
    {
        int first = int.Parse(Console.ReadLine());
        int second = int.Parse(Console.ReadLine());
        int max = int.Parse(Console.ReadLine());
        int count = 0;
        for (int i = first; i <= second; i++)
        {
            for (int j = first; j <= second; j++)
            {
                if (count==max)
                {
                    break;
                }
                Console.Write("<{0}-{1}>",i,j);
                count++;
            }
        }
    }
}
 

0
Miroslav_Kisov avatar Miroslav_Kisov 60 Точки

Ето и от мен https://pastebin.com/XiaYxZQY

0
SimeonVeselinov avatar SimeonVeselinov 0 Точки

И от мен.

https://pastebin.com/RaCLn1r7

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