Matrices ejemplo
Enviado por fungusfairy • 10 de Julio de 2023 • Apuntes • 419 Palabras (2 Páginas) • 50 Visitas
#include <stdio.h>
int esPrimo(int num);
int esPerfecto(int num);
void contarNumeros(int rangoInicial, int rangoFinal, int* primos, int* pares, int* impares, int* perfectos);
int main() {
int rangoInicial, rangoFinal;
printf("Ingrese el rango inicial: ");
scanf("%d", &rangoInicial);
printf("Ingrese el rango final: ");
scanf("%d", &rangoFinal);
int primos = 0, pares = 0, impares = 0, perfectos = 0;
contarNumeros(rangoInicial, rangoFinal, &primos, &pares, &impares, &perfectos);
printf("Cantidad de números primos: %d\n", primos);
printf("Cantidad de números pares: %d\n", pares);
printf("Cantidad de números impares: %d\n", impares);
printf("Cantidad de números perfectos: %d\n", perfectos);
return 0;
}
int esPrimo(int num) {
if (num <= 1) {
return 0;
}
for (int i = 2; i * i <= num; i++) {
if (num % i == 0) {
return 0;
}
}
return 1;
}
int esPerfecto(int num) {
int sumaDivisores = 0;
for (int i = 1; i < num; i++) {
if (num % i == 0) {
sumaDivisores += i;
}
}
return (sumaDivisores == num);
}
void contarNumeros(int rangoInicial, int rangoFinal, int* primos, int* pares, int* impares, int* perfectos) {
for (int num = rangoInicial; num <= rangoFinal; num++) {
if (esPrimo(num)) {
(*primos)++;
}
if (num % 2 == 0) {
(*pares)++;
} else {
(*impares)++;
}
if (esPerfecto(num)) {
(*perfectos)++;
}
}
}
...