ingenieros de Huawei de I + D de programación problema: botellas de soda

Uno, Título Descripción

Aquí Insertar imagen Descripción

En segundo lugar, las ideas de resolución de problemas

  • Si el número de la botella es 1 o 0, entonces menos de una botella de bebida
  • Si el número de la botella es 2 ó 3, sólo se puede beber una botella
    • Si 2, las manos de una botella tras botella de bebida no lo son, y no pueden continuar con el ciclo continúa
    • Si 3, beber una botella de manos de solamente una botella, no podemos continuar con el ciclo continúa
  • Si el número de la botella es mayor que 3, cada tres botellas de botella de la bebida consumir, una botella y más, por uno toma dos botellas
#include <iostream>
using namespace std;
unsigned int sln(unsigned int N)
{
    if (N == 2 || N == 3)
    {
        return 1;
    }
    if (N <= 1)
    {
        return 0;
    }
    unsigned int Total = 0;
    while (N > 3)
    {
        N -= 2;
        Total++;
        if (N == 2 || N == 3)
        {
            Total++;
            N = 0;
        }
        if (N == 2 || N == 3)
        {
            Total++;
            N = 1;
        }
    }
    return Total;
}
int main()
{
    unsigned int N;
    while (cin >> N)
    {
        cout << sln(N) << endl;
    }
    return 0;
}

En tercer lugar, los resultados de explotación

Aquí Insertar imagen Descripción

Publicado 30 artículos originales · ganado elogios 3 · Vistas 813

Supongo que te gusta

Origin blog.csdn.net/weixin_44587168/article/details/105369210
Recomendado
Clasificación