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
traykova44 avatar traykova44 93 Точки

Здравейте, може ли помощ за С #

това ми е кода https://pastebin.com/gyxZAnTF

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

Може ли някой да каже как?

 

 

0
simona_st avatar simona_st 38 Точки

Аз съм използвала булева променлива, която да запомни дали сме на четвъртото число. Нея можем да я изкараме извън цикъла и така ще имаме работеща if-проверка извън цикъла. 

И също съм сложила друга int променлива, която да помни четвъртата парола password = 1000 * a + 100 * b + 10 * c + d; (взимаме хилядните, стотните, десетиците и единиците).

Ето ми решението https://pastebin.com/QgTDcQbM 

Сигурно има и по-добри решения, но това работи. 

И не забравяй else, което да изписва "No!".

 

1
14/12/2017 11:30:19
pace71 avatar pace71 -3 Точки

ПЕСЕНТА  НА КОЛЕЛЕТАТА –PASS  ot CTR==4

Scanner scanner=new Scanner(System.in);

        int num=Integer.parseInt(scanner.nextLine());

        int a=0;

        int b=0;

        int c=0;

        int d=0;

       int ctr=0;

        for(int i=1;i<=num;i++)

       for(int j=1;j<=num;j++)

           for(int k=1;k<=num;k++)

               for(int l=1;l<=num;l++){

        System.out.printf("%s%s%s%s ",i,j,k,l);

         System.out.println();

        ctr++;

       

        if(ctr==4){

        a=i;

        b=j;

        c=k;

        d=l;

        }

        }

        if(ctr>=4){

        System.out.printf("PASS IS %s%s%s%s ",a,b,c,d);

      

        }else{

        System.out.println("Nqma PASS ");

 

        }

        }

       

 

        

    }

   

 

0
svetlozarned avatar svetlozarned 2 Точки

Здравей,

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

https://pastebin.com/BjhC53Mu

Създавам променлива rightNumber: брояч за числото, което отговаря на условията.

След това на всеки цикъл, смятам колко е сборът на 1-то и 2-то число и на 3-то и 4-то както и на 4-те числа заедно.

После проверявам кога отговарят и на 2-те условия и дали има 4-то такова.


                            if (control == sum && i < i2 && i3 > i4)
                            {
                                rightNumber++;
                                Console.Write("{0}{1}{2}{3} ", i, i2, i3, i4);

                                if (rightNumber == 4)
                                {
                                    password = string.Format("{0}{1}{2}{3}", i, i2, i3, i4);
                                }
                            }

 

 

0
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
Hvpetrow avatar Hvpetrow 11 Точки

Ето едно решение : https://pastebin.com/y7Yb2ZpS 

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