Loading...
MarinPenchev avatar MarinPenchev 4 Точки

05. Butterfly - от On-line изпит на 07 Януари 2018

Колеги, тази пеперудка не е много за начинаещи, струва ми се !?!?

Мисля, че е несравнимо по-трудна в сравнение с фигурките от предишните поне 20 изпита, които реших с не много усилия.

Това доста прецаква студентите !

Някой ако има свястно решение бих бил любопитен да го видя !

 

https://judge.softuni.bg/Contests/Practice/Index/911#9

0
Programming Basics with C#
VasilKotsev avatar VasilKotsev 830 Точки

Ето мое примерно решение. Този изпит имам чувството, че е писан от hardcore java ентусиасти.

0
MarinPenchev avatar MarinPenchev 4 Точки

Благодаря !

Този изпит... и другите задачи ми опънаха нервите ! 

Не е честно да се подготвяш за едни задачи, а на изпита да ти изтрещят съвсем различни (по сложност) задачи.

0
EmanuilNikolov avatar EmanuilNikolov 33 Точки

Действително има доста цикли докато обхвана цялата фигура.

https://dotnetfiddle.net/Bq1CHU

0
EmanuilNikolov avatar EmanuilNikolov 33 Точки

Помага, че фигурата е симетрична.

0
04/03/2018 14:30:41
dimiOrange avatar dimiOrange 63 Точки

Здравейте,

Ето едно решение и от мен.

Поздрави

 

import java.util.Scanner;

 

public class DrawButterfly {
    public static void main(String[] args) {
        Scanner console = new Scanner(System.in);
        int n = Integer.parseInt(console.nextLine());

 

        // Отпечатва първите n-2 реда
        for (int i = 1; i <= n - 2; i++) {
            if (i % 2 != 0) {
                System.out.print(drawLineOfSymbols(n - 2, "*"));
                System.out.print("\\");
                System.out.print(" ");
                System.out.print("/");
                System.out.print(drawLineOfSymbols(n - 2, "*"));
                System.out.println();
            } else {
                System.out.print(drawLineOfSymbols(n - 2, "-"));
                System.out.print("\\");
                System.out.print(" ");
                System.out.print("/");
                System.out.print(drawLineOfSymbols(n - 2, "-"));
                System.out.println();
            }
        }

 

        // Отпечатва средния ред
        System.out.print(drawLineOfSymbols(n - 1, " "));
        System.out.print("@");
        //System.out.print(drawLineOfSymbols(n - 2, "-"));
        System.out.println();

 

        // Отпечатва останалите n-2 реда
        for (int i = 1; i <= n - 2; i++) {
            if (i % 2 != 0) {
                System.out.print(drawLineOfSymbols(n - 2, "*"));
                System.out.print("/");
                System.out.print(" ");
                System.out.print("\\");
                System.out.print(drawLineOfSymbols(n - 2, "*"));
                System.out.println();
            } else {
                System.out.print(drawLineOfSymbols(n - 2, "-"));
                System.out.print("/");
                System.out.print(" ");
                System.out.print("\\");
                System.out.print(drawLineOfSymbols(n - 2, "-"));
                System.out.println();
            }
        }
    }

 

    private static String drawLineOfSymbols(int length, String symbol) {
        String lineOfSymbols = "";
        for (int i = 0; i < length; i++) {
            lineOfSymbols += symbol;
        }
        return lineOfSymbols;
    }
}

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