Redención de bebidas C ++ (matemáticas)

Leyangyang Beverage Factory está llevando a cabo una actividad promocional. Bebida tipo C de Leyangyang, con 3 tapas, se puede cambiar por otra bebida tipo C, y se puede reciclar para siempre (pero no se permiten préstamos o créditos temporales)
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 beber al final.
Formato de entrada
Introduzca un número entero n, que representa la cantidad de bebidas compradas inicialmente.
Formato de
salida Emite un número entero, que indica el número total de bebidas que se pueden beber.
Rango de datos
0 <n <10000
Ejemplo de entrada:
100
Ejemplo de salida:
149

La clave de esta pregunta es comprender que la bebida intercambiada también se puede convertir en una tapa de botella y continuar usándola para cambiar la bebida.
Código AC:

#include<iostream>

using namespace std;

int n;

int main()
{
    
    
    cin>>n;
    int sum=n;
    while(n>=3)
    {
    
    
        sum+=n/3;
        n=n/3+n%3;
    }
    cout<<sum;
    return 0;
}

Supongo que te gusta

Origin blog.csdn.net/qq_44643644/article/details/108819225
Recomendado
Clasificación