Corrección de preguntas de programación en lenguaje c
1. Hay un problema con el diseño en sí. Descomponga los dos números en factores y luego calculelos y compárelos. ¡Me pregunto si ha considerado la eficiencia de este programa! #include
int func(int n)
{int s,k;
for(k=2,s=1; k<=n /2;k++)
if(n%k==0) s=s+k;
devuelve s;
}
main()
{
int m,i,p,q;
for(m=2;m<=3000 ;m++)
{
p=func(m);
q=func(p);
si(q= =m&&m<= p) printf("%d<--->%d\n",m,p);
}
}
2.main()
{int i,n,a=0,s=0,b=0
static int e[40],g[40]; /p>
for(n=2;n<=41;n++)
{for(i=1;i if(n% i==0 ) s=s+i; if(s==n) {e[a]=n;a++;} más si(s>n) ) {g[ b]=n;b++;} s=0;// ¡Modifica aquí! ¡Tu S debe restaurarse a 0 después de cada registro y suma; de lo contrario, se producirá un error! } printf("E: ");