Está en la página 1de 2

#include<stdio.

h>

int b[30],c=0,d=-1,m=0,a;// Función conveniente de la variable global y operación de la función


principal

void lemon(int x)

if(c==a)// Cuando el valor del factor de descomposición es igual al valor de entrada,


significa que la descomposición se ha completado. Genere los valores en la matriz.

printf("%d=",a);

for(int h=0;h<=d;h++)

if(h!=d)

printf("%d+",b[h]);

else

printf("%d",b[h]);

m++;

if(m%4==0)

printf("\n");

else if(m%4!=0 && d!=0)

printf(";");

return;

if(c>a)// Cuando el valor sea mayor que a, regrese al nodo anterior,

return;

if(c<a)// Cuando el valor es menor que a, significa que no se ha descompuesto por


completo, así que continúe descomponiendo el entero.

for(int e=x;e<=a;e++)// Habrá un pequeño error aquí, si deja e = 1, habrá un


error de valor más adelante.

b[++d]=e;// Almacena cada factor de descomposición en una matriz,


c+=e;// Registra la suma de los factores de descomposición.

lemon(e);

c-=e;// Después de volver al nodo anterior, resta el valor de e

d--;// Cambiar el subíndice de la matriz

int main()

scanf("%d",&a);

lemon(1);

También podría gustarte