3829 - Octogon: Difference between revisions

From Bitnami MediaWiki
Paul Ungur (talk | contribs)
Creat o pagină goală
 
Paul Ungur (talk | contribs)
Line 1: Line 1:
==Cerința==
Să se afișeze un octogon de latură <span style="color: red;"> n</span> umplut cu caractere <span style="color: red;"> *</span> iar spațiul spațiul exterior umplut cu <span style="color: red;"> #</span>, ca în exemplu.


==Date de intrare==
Programul citește de la tastatură numărul <span style="color: red;"> n</span>.
==Date de ieșire==
Programul va afișa octogonul cerut.
==Restricții și precizări==
<span style="color: red;"> 2 ≤ n ≤ 40</span>
==Exemplu:==
Intrare
5
Ieșire
####*****####
###*******###
##*********##
#***********#
*************
*************
*************
*************
*************
#***********#
##*********##
###*******###
####*****####
==Rezolvare==
<syntaxhighlight lang=“python” line>
n = int(input())
# afișăm prima jumătate a octogonului
for i in range(n):
    for j in range(n - i - 1):
        print("#", end="")
    for j in range(2 * i + 1):
        print("*", end="")
    for j in range(n - i - 1):
        print("#", end="")
    print()
# afișăm a doua jumătate a octogonului
for i in range(n - 2, -1, -1):
    for j in range(n - i - 1):
        print("#", end="")
    for j in range(2 * i + 1):
        print("*", end="")
    for j in range(n - i - 1):
        print("#", end="")
    print()
</syntaxhighlight>

Revision as of 20:12, 19 March 2023

Cerința

Să se afișeze un octogon de latură n umplut cu caractere * iar spațiul spațiul exterior umplut cu #, ca în exemplu.

Date de intrare

Programul citește de la tastatură numărul n.

Date de ieșire

Programul va afișa octogonul cerut.

Restricții și precizări

2 ≤ n ≤ 40

Exemplu:

Intrare 5

Ieșire

Rezolvare

<syntaxhighlight lang=“python” line> n = int(input())

  1. afișăm prima jumătate a octogonului

for i in range(n):

   for j in range(n - i - 1):
       print("#", end="")
   for j in range(2 * i + 1):
       print("*", end="")
   for j in range(n - i - 1):
       print("#", end="")
   print()
  1. afișăm a doua jumătate a octogonului

for i in range(n - 2, -1, -1):

   for j in range(n - i - 1):
       print("#", end="")
   for j in range(2 * i + 1):
       print("*", end="")
   for j in range(n - i - 1):
       print("#", end="")
   print()

</syntaxhighlight>