8942. *Рамка

 

Для заданного натурального числа n вывести горизонтальную прямоугольную рамку размером 3 * n из звездочек, заполненную пробелом (как показано в примере).

 

Вход. Одно натуральное число n (1 < n ≤ 100).

 

Выход. Выведите горизонтальную прямоугольную рамку размером 3 * n.

 

Пример входа

Пример выхода

5

*****

*   *

*****

 

 

РЕШЕНИЕ

циклы

 

Анализ алгоритма

Горизонтальную прямоугольную рамку рисуем следующим образом:

·        В первой строке выводим n звездочек;

·        Во второй строке выводим звездочку, n – 2 пробела и еще одну звездочку;

·        В третьей строке выводим n звездочек;

 

Реализация алгоритма

Читаем входное значение n.

 

scanf("%d", &n);

 

Выводим n звездочек.

 

for (i = 0; i < n; i++) printf("*");

 

Выводим звездочку, n – 2 пробела и еще одну звездочку.

 

printf("\n*");

for (i = 0; i < n - 2; i++) printf(" ");

printf("*\n");

 

Выводим n звездочек.

 

for (i = 0; i < n; i++) printf("*");

printf("\n");

 

Java реализация

 

import java.util.*;

 

public class Main

{

  public static void main(String[] args)

  {

    Scanner con = new Scanner(System.in);

    int n = con.nextInt();

    for (int i = 0; i < n; i++)

      System.out.print("*");

    System.out.println();

    System.out.print("*");

    for (int i = 0; i < n - 2; i++)

      System.out.print(" ");

    System.out.println("*");

    for (int i = 0; i < n; i++)

      System.out.print("*");

    System.out.println();

    con.close();

  }

}

 

Python реализация

 

n = int(input())

for i in range(n):

  print("*", end = "")

print()

print("*", end = "")

for i in range(n - 2):

  print(" ", end = "")

print("*")

for i in range(n):

  print("*", end = "")

print()