Pregunta 7 del examen de Java del séptimo concurso provincial: redención de bebidas

Beber redención


Leyangyang Beverage Factory está llevando a cabo una actividad promocional. Para la Bebida Leyangyang Tipo C, con 3 tapas, puede cambiarla por otra botella de Bebida Tipo C, y puede reciclarse para siempre, pero no se permite el crédito.
Por favor, calcule, si Xiao Ming no desperdicia tapas de botellas y participa en las actividades tanto como sea posible, entonces, para las n botellas de bebidas que compró inicialmente, cuántas botellas de bebidas puede conseguir al final.
Entrada: un número entero n, que indica el número de bebidas compradas (0 <n <10000)
Salida: un número entero, que indica el número de bebidas realmente obtenidas
Por ejemplo:
entrada del usuario:
100, el
programa debe generar:
149
entrada del usuario:
101, el
programa debe generar:
151
Idea: El
título significa cuántas botellas se pueden beber al final. Sabemos que cuando la tapa es inferior a 3, es el número de botellas que se pueden beber. Utilizo el pensamiento recursivo, dfs (m, n) Supongo que m es una bebida Cuente, n son las tapas de botellas restantes, n + = m es cuántas botellas de bebidas son tantas tapas, y luego, a través de los siguientes cálculos, se puede obtener el resultado.
programa:

a=int(input())
con=a
def dfs(m,n):
    n+=m
    global con
    if n<3:
        return  con
    else:
        m=n//3
        n=n%3
        con+=m
    dfs(m,n)
    return con
print(dfs(a,0))

Está prohibida la reimpresión. Solo para autoaprendizaje. No se hace responsable de los errores del programa.

Supongo que te gusta

Origin blog.csdn.net/weixin_46640345/article/details/112860598
Recomendado
Clasificación