Red de conocimiento informático - Conocimiento de la instalación - Ayude a un experto en lenguaje C a crear un programa para encontrar todos los "números de agujeros negros" entre 1 y 50.000.

¡Gracias! (Hay algo sobre la cantidad de agujeros negros)

Ayude a un experto en lenguaje C a crear un programa para encontrar todos los "números de agujeros negros" entre 1 y 50.000.

¡Gracias! (Hay algo sobre la cantidad de agujeros negros)

Después de pensarlo durante mucho tiempo, lo depuré en VC++6.0 durante casi medio día y ahora he escrito un programa para encontrar el número de agujeros negros en tres dígitos y cuatro. Números de dígitos (uno y dos dígitos se pueden conocer por definición No hay un número de agujero negro en el número), ahora lo publicó para que todos lo critiquen y corrijan: (El código para resolver el número de agujero negro en el número de cinco dígitos continuará)

#include

#include

usando el espacio de nombres std;

int maxof3( int,int,int); //Encuentra el número máximo de números de tres dígitos después de la reordenación

int minof3(int,int,int //Encuentra el número mínimo después de la reordenación de tres dígitos

p>

int maxof4(int,int,int,int); //Encontrar la reordenación de 4 dígitos El número máximo después de ordenar

int minof4(int,int,int,int /); /Encontrar el número máximo después de reorganizar 4 dígitos

void main()

{

int i;

for(i= 100;i<=999;i++) //Encuentra el número de agujeros negros en un número de tres dígitos

{

int hun,oct,data,max,min,j ;

hun=i/100; oct=i%100/10; datos=i%10;

max=maxof3(hun,oct,datos);

min=minof3(hun,oct,data);

j=max-min;

hun=j/100; oct=j%100/10; j%10;

if(min==minof3(hun,oct,data))

cout<

}

for(i=1000;i<=9999;i++) / /Encuentra el número de agujeros negros en números de cuatro dígitos

{

int t,h,d,a,max,min,j;

t=i/ 1000; h=i%1000/100; =i%10;

max=maxof4(t,h,d,a);

min=minof4(t,h,d,a);

j=máx-mín;

t=j/1000; h=j%1000/100; d= j%100/10; if(min==minof4(t,h,d,a))

cout<

}

}

int maxof3(int a,int b,int c)

{

int t;

t=a;

si(b>t)

{t=b;b= a;a=t;}

si(c>t )

{t=c;c=b;b=a;a=t;}

más

{if(c>b)

{t=c;c=b;b=t;}

}

return(a*10b*1c);

}

int

minof3(int a,int b,int c)

{

int t;

t=a;

si(b >t)

{t=b;b=a;a=t;}

si(c>t)

{t=c;c =b;b=a;a=t;}

else

{if(c>b)

{t=c;c=b; b=t;}

}

return(c*10b*1a);

}

int maxof4 (int a,int b,int c,int d)

{

si(a

{a=a^b;b= a^b;a=a^b;}

if(c

{c=c^d;d=c^d;c=c^d; }

si(a

{a=a^c;c=a^c;a=a^c;}

si( b

{b=b^d;d=b^d;b=b^d;}

si(b

{b=b^c;c=b^c;b=b^c;}

return(a*100b*10c*1d);

}

int minof4(int a,int b,int c,int d)

{

if(a

{a=a^b;b=a^b;a=a^b;}

si(c

{c=c^d; d=c^d;c=c^d;}

si(a

{a=a^c;c=a^c;a=a^ c;}

si(b

{b=b^d;d=b^d;b=b^d;}

if(b

{b=b^c;c=b^c;b=b^c;}

return(d*100c*10 b*1a);

}

Además, encontré un programa para resolver el número del agujero negro en cinco dígitos. Simplemente copie parte del código en el archivo de arriba:

#include

usando el espacio de nombres std;

int maxof5(int,int,int,int,int);

int minof5(int,int,int,int,int);

void main()

{

int i;

for(i=10000;i<=50000;i++)

{

int dt,t,h,d,a,max,min,j;

dt=i/10000; t=i%10000/1000; h=i%1000/100; d=i%100/10; a=i%10;

máx=maxof5( dt,t,h,d,a);

min=minof5(dt,t,h,d,a);

j=max-min;

dt=j/10000; t=j%10000/1000; h=j%1000/100; d=j%100/10; a=j%10;

si(mín= =minof5(dt,t,h,d,a))

cout<

¡un número de agujero negro!"<

}

cout<<"maxof5(5,2,1,8,3) es: "<

cout<<"minof5(5,2,1,8,3) es: "<

//Si el número es correcto

}

int maxof5(int a,int b,int c,int d,int e)

{

int t;

si (a< b)

{a=a^b;b=a^b;a=a^b;}

si(c

{ c=c^d;d=c^d;c=c^d;}

si(a

{a=a^c;c =a^ c;a=a^c;}

si(b

{b=b^d;d=b^d;b=b^d ;}

si(b

{b=b^c;c=b^c;b=b^c;}

si (e< =d)

{}

else

si(d<=e&&e

{t=d ;d= e;e=t;}

else

if(c<=e&&e

{t=c;c=e; e=d ;d=t;}

else

if(b<=e&&e

{t=b;b=e;e =d; d=c;c=t;}

else

if(a<=e)

{t=a;a=e; e=d ;d=c;c=b;b=t;}

else {cout<<"¡por favor revisa el programa!"<

return( a*10000 +b*100c*10d*1e);

}

int minof5(int a,int b,int c,int d,int e)

{

int t;

si(a

{a=a^b;b=a ^b; a=a^b;}

si(c

{c=c^d;d=c^d;c=c^d;}

si(a

{a=a^c;c=a^c;a=a^c;}

si(b

{b=b^d;d=b^d;b=b^d;}

si(b

{b= b^c;c=b^c;b=b^c;}

si(e<=d)

{}

else

if(d<=e&&e

{t=d;d=e

;e=t;}

else

if(c<=e&&e

{t=c;c=e;e=d; d=t;}

else

if(b<=e&&e

{t=b;b=e;e=d;d =c;c=t;}

else

if(a<=e)

{t=a;a=e;e=d; d=c;c=b;b=t;}

else {cout<<"¡por favor revisa el programa!"<

return(e*1000 d*100c*10b*1a);

}