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

Сбор или произведение. 6 зад. от 25.06.2017г.

Бихте ли ми помогнали с решението на тази задача ,защото не мога да я завърша. Благодаря !


        static void Main(string[] args)
        {
            int n = int.Parse(Console.ReadLine());

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


                        if (a < b && b < c && a + b + c == n)
                        {
                            Console.WriteLine($"{a} + {b} + {c} = {n}");
                        }

                        if (a > b && b > c && a * b * c == n)
                        {
                            Console.WriteLine($"{a} * {b} * {c} = {n}");
                        }
                    }
                }
            }
        }
    }
}

 

 

Тагове:
0
Programming Basics
sevgin0954 avatar sevgin0954 557 Точки

условието какво е

0
TeodosiTodorov avatar TeodosiTodorov 2 Точки

От конзолата се чете едно цяло число – контролно. Трябва да се отпечатат в определен формат всички тройки числа (a, b и c) в интервала от 1 до 30 включително, чиито сбор или произведение е равен на контролното число. Като трябва да бъдат спазени следните условия:

  • при намирането на сбора: a < b < c
  • при намиране на произведението: a > b > c.

В случай, че НЕ са намерени такива числа трябва да отпечатаме No.

 

Вход

От конзолата се четe 1 цяло число: Nцяло число в интервала [1 … 30000];

Изход

Отпечатването на конзолата зависи от резултата:

  • Ако са намерени тройки числа (a < b < c), сборът, на които е равен на контролното число отпечатваме:
  • “{а} + {b} + {c} = {N}”
  • Ако са намерени тройки числа (a > b > c), произведението, на които е равно на контролното число отпечатваме:
  • “{а} * {b} * {c} = {N}”
  • Ако НЕ са намерени такива числа отпечатваме:
  • “No!”
0
31/10/2017 15:20:21
petia_tsigomareva avatar petia_tsigomareva 0 Точки

Здрасти, изпращам ти решение, но е на java, мисля, че не е проблем.

public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);

        int n = Integer.parseInt(scanner.nextLine());
        int flag = 0;

        for (int i = 1; i <= 30; i++) {
            for (int j = 1; j <= 30; j++) {
                for (int k = 1; k <= 30; k++) {
                    if (i < j && j < k && i + j + k == n) {
                        System.out.printf("%d + %d + %d = %d", i, j, k, n);
                        System.out.println();
                        flag = 1;
                    }
                    if (i > j && j > k && i * j * k == n) {
                        //System.out.println();
                        System.out.printf("%d * %d * %d = %d", i, j, k, n);
                        System.out.println();
                        flag = 1;
                    }

                }

            }

        }
        if (flag == 0) {
            System.out.println("No!");
        }
    }

 

0
sevgin0954 avatar sevgin0954 557 Точки

https://pastebin.com/Ub2Xi0X4

0
31/10/2017 15:54:56
desislava777 avatar desislava777 165 Точки

Необходимо е да се добави една булева променлива и решението става много лесно.

0
desislava777 avatar desislava777 165 Точки

Ето още едно примерно решение: https://pastebin.com/J9Nbz5e3

0
mjikova avatar mjikova 7 Точки

Здравей, необходима ти е променлива, която да се ползва навсякъде т. е. и в циклите и извън тях. За да можеш да  я ползваш за последния If - проверката след цикъла. Защото ако направиш проверката в последния/най - вътрешния/цикъл  нещо от сорта 

 if (a < b && b < c && a + b + c == n)
     {
                            Console.WriteLine($"{a} + {b} + {c} = {n}");
                        }
                       else if (a > b && b > c && a * b * c == n)
                        {
                            Console.WriteLine($"{a} * {b} * {c} = {n}");
                        }
                        else if ((a+b+c!= n) && (a * b * c != n))
                        {
                            Console.WriteLine("No");
                            break;
                        }

}

Текста който съм почернила съм дописала в твоя код, ще се върти 30 пъти и ще пише No No....

a,b, и с  важат само в циклите и няма как да изнесеш проверка за тях извън циклите... Моя съвет е да вкарваш повече променливи ..

 

0
traykova44 avatar traykova44 93 Точки

Здравейте, разбирам цялото решение на задачата  КОД https://pastebin.com/xDPnKM07

без bol - подчертала съм къде е . Може ли някой да ми обесни какво точно се казва с него и в какви случей се ползва?

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