Consiste en esto:
Dada una matriz nxn a elección por el usuario(máximo 10), mostrar en pantalla la cantidad de números perfectos ubicados en los sectores donde i+j sea igual a un numero par. Los números del interior de la matriz también deben ser ingresados por el usuario.
Un número perfecto es un número natural que es igual a la suma de sus divisores propios positivos.
Este es mi codigo:
Código:
#include <conio.h>
#include <stdio.h>
#include <math.h>
#include <string.h>
int main() {
int i, j, filas, columnas, a, sum=0, mul=0, c=0;
printf ("Introduzca el numero de filas : ");
scanf ("%i",&filas);
printf ("\nIntroduzca el numero de columnas : ");
scanf ("%i",&columnas);
int matriz[filas][columnas];
for (i=1; i<filas+1; i++)
{
for (j=1; j<columnas+1; j++)
{
printf("Escriba un numero para la posicion [%i][%i] de la matriz ", i,j);
scanf("%i", &matriz[i][j]);
if((i+j)%2 == 0)
{
for(a=1; a<matriz[i][j]; a++)
{
mul=matriz[i][j]%a;
if(mul==0)
{
sum+=a;
}
else{}
}
if(sum==matriz[i][j])
{
c++;
}
else{}
}
else{}
}
}
printf("%i",c);
scanf("%i",&c);
return 0;
}
Desde ya muchas gracias!