Programación en C, lo mejor es tener un proceso detallado
. . . . . . . . . . . .
. . . . . . . . . . . .
¡Me tomó mucho tiempo analizarlo para ti! ! ! ! !
//Idea general: ¡De hecho, es un problema recursivo!
//¡Cómo decirlo! ¡Es difícil describirlo en una palabra!
//Por ejemplo; 7 manzanas en 3 platos se pueden dividir en tres situaciones: 1: Usar solo un plato 2: Usar dos platos 3: Usar tres platos
//I No hablaré de la primera situación. La segunda situación: podemos pensar en esta situación como poner 5 manzanas en 3 platos, igual que la pregunta original
//Eso es. Sigue recurriendo. . . ¡Entonces el análisis del tercer caso es el mismo que el del segundo caso!
//Es difícil describirlo en una palabra. Sólo podrás entenderlo si lo experimentas poco a poco. . . . . . .
El código es el siguiente:
#include lt; iostreamgt;
usando el espacio de nombres std; int n)
{
static int recuento=0;
recuento
for(int i=2; ilt; = (nlt; m?n: m); i )
{
if( (m-i)gt; 0 )
TimesOfAppleToPlate(m-i, i);
más si( (m-i)==0 )
contar
más
}
recuento de retornos
}
int main()
{
int t
int m, n;
cingt;gt;t;
mientras(t--)
{
cingt;gt;mgt;gt ;n;
coutlt;lt;TimesOfAppleToPlate(m,n)lt;lt;endl;
}
devuelve 0;
}