Com tot, fer-ho be i de memòria pot ser un repte... La meva solució amb
Python:
# Enumerate triangular numbers
# * * * *
# * * * * * *
# * * * * * *
# * * * *
# Formula for n size side:
# (n*(n+1))/2
# Recurrence relation:
# a(0) = 0
# a(n) = a(n-1)+n
def triangulars(m):
"Enumerate m triangular numbers"
i = n = 0
while i < m:
n += i
i += 1
yield n
def load():
"Read and validate expected input"
C = int(raw_input())
assert C > 0 and C <= 10000
N = [ ]
while C > 0:
c = int(raw_input())
assert c > 0 and c < 10e8
N.append(c)
C -= 1
return N
def rows(bowls, r_w):
"Return rows for specified bowls"
for i in range(len(r_w)):
if bowls == r_w[i]:
return i
elif bowls <= r_w[i]:
return i-1
# Main
cases = load()
# array rows:bowls
row_bowl = tuple(triangulars(max(cases)+1))
for i in cases:
print i, rows(i, row_bowl)
# EOF
2017-05-29 15:33 GMT+02:00 ESTER MARSAL ROCA <emarsal2@xxxxxxxx>:
redactat aproximat del què recordo:
Hola,
Aquí hi ha l'exercici de l'opció B de la part A del cos 507. És un
cada fila hi ha una bitlla més que la fila anterior
Les bitlles en un bowling es col·loquen en forma de triangle equilàter, a
col·locar com a mínim
Entrada
C N N...
On C és la quantitat de casos i N la quantitat de bitlles que cal
jordinas@xxxxxxxxxxxxxxxxxxxxxxxxxxx> ha escrit:
Sortida
Quantitat de files que tindrà el triangle, per cada cas
La C és un valor entre 0 i 10.000 sense incloure el 0,
La N és un valor entre 0 i 10^9 sense incloure el 0.
Es demana:
1. Indicar l'estructura de dades que es faran servir
2. Dissenyar l'algoritme en pseudocodi
3. Desenvolupar un mòdul significatiu en C, C++ o Java
4. Calcular el cost de l'algoritme
5. Màxima optimització (Cost 1)
Ester
El dia 29 de maig de 2017 a les 12:33, Joan Josep Ordinas Rosa <
opositors en l'exercici de programació?
per curiositat, podeu posar en comú els exercicis que us hagin posat als
JJOR
--
« Cap home segueix sent massa el que era quan es reconeix a si mateix. »
Thomas Mann