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

Някой да е решил The Song of the wheels ?

Песента на колелетата
Прапраправнукът на Сали Яшар е получил наследство - сейф с парола - четири цифри. В него е заключена тайната на пеещите каруци. Той има автосервиз и се нуждае от реклама, затова е решил да направи такава каруца. Проблема е, че паролата е скрита в следната задача:
„Парола ще получиш, ако знаеш  едно цяло число, контролна стойност  се нарича то,
почива в интервала от 4 до 144 включително, но да го откриеш може би ще е мъчително. ”
Паролата има формат: „abcd“ и контролната стойност трябва да е равна на  a*b + c*d , но трябва да бъдат спазени следните условия:
при намирането на а и b: a < b
при намиране на  c и d: c > d .
Каруцата  има четири колела, затова паролата ще е четвърто число, което трябва да се отпечата.
В случай, че НЕ се намери такова число,  отпечатва се „No!“.
Вход
От конзолата се четe едно цяло число (контролната стойност): M – цяло число в интервала [4 … 144];
Изход
Отпечатването на конзолата зависи от резултата:
Ако са намерени четворки числа (аbcd), отговарящи на условието, ги отпечатваме всичките с разделител интервал: “{а}{b}{c}{d} ”
Отпечатва се един от двата реда на нов ред:
Ако съществува четвърта четворка се отпечатва: „Password: {а}{b}{c}{d}“
Ако НЕ са намерени такива числа или няма  четвърта четворка отпечатваме: “No!”
Примерен вход и изход
Вход    Изход    Обяснения
11
    1291 1342 1381 1471 1532 1561 1651 1741 1831 1921 2351 2431
Password: 1471    Започваме да проверяваме числата последователно:
{1} {1} {1} {1};   {1} {1} {1} {2};   {1} {1} {1} {3};   …;   {1} {2} {9} {1}; …
четворката 1291 спазва условието и отпечатваме и т.н.
Вход    Изход    Вход    Изход    Вход    Изход
139    No!    110
    6987 7896
No!    55
    1786 2595 3585 3974 4575 4793 5754 5853 5952 6871
Password: 3974

 

Тагове:
0
Programming Basics
Cherkezova avatar Cherkezova 4 Точки

Това е моето решение: 

int m = int.Parse(Console.ReadLine());

            string password = null;

            int ctrValue = 0;


            while (m < 4 || m > 144)
            {
                Console.WriteLine(" Не е контролна стойност");
                m = int.Parse(Console.ReadLine());
            }


            for (int a = 1; a <= 9; a++)
            {
                for (int b = 1; b <= 9; b++)
                {
                    for (int c = 1; c <= 9; c++)
                    {
                        for (int d = 1; d < 9; d++)
                        {

                            if (a < b && c > d)
                            {
                                int calculation = a * b + c * d; // izhislqvame chislata ako otgovarqt na uslovieto

                                if (calculation == m) //  kontrolnata stoinost trqbva da e ravna na a*b + c*d  
                                {
                                    Console.Write($"{a}{b}{c}{d} "); // otpechatvame  chetvorkite chislata 

                                    ctrValue++; // sus vsqko otpechatvane controlnata stoinost se uvelichava

                                    if (ctrValue == 4) // ako  ima chetvurto chislo to e parolata
                                    {
                                        password = $"{a}{b}{c}{d}";
                                        
                                    }

                                }
                            }

                        }
                    }
                }
            }

            if (ctrValue > 0) Console.WriteLine(); //  proverkata e za da moje kogato controlnata stoinost e po golqma ot 0, rezultata da se izpisva na sledvashtiq red, zashtoto taka se iska v uslovieto.

            if (password != null)
            {
               
                Console.WriteLine($"Password: {password} ");
            }

            else if(password == null || ctrValue < 0)
            {
                
                Console.WriteLine("No!");
            }

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