Você está na página 1de 1

#include <stdio.

h>
#include <stdbool.h>

// Função para verificar se um número é primo


bool ePrimo(int n) {
if (n <= 1) {
return false; // Números menores ou iguais a 1 não são primos
}

for (int i = 2; i * i <= n; i++) {


if (n % i == 0) {
return false; // Se for divisível por algum número entre 2 e sqrt(n),
não é primo
}
}

return true; // Se não foi divisível por nenhum número, é primo


}

// Função para calcular a soma dos dígitos de um número


int somaDigitos(int num) {
int soma = 0;
while (num > 0) {
soma += num % 10;
num /= 10;
}
return soma;
}

// Função para imprimir números primos e a soma dos dígitos


void imprimirPrimosESoma(int limiteSuperior) {
printf("Números primos entre 1 e %d:\n", limiteSuperior);
for (int i = 2; i <= limiteSuperior; i++) {
if (ePrimo(i)) {
printf("%d (Soma dos dígitos: %d)\n", i, somaDigitos(i));
}
}
}

int main() {
int limite;
printf("Digite o limite superior para encontrar números primos: ");
scanf("%d", &limite);

imprimirPrimosESoma(limite);

return 0;
}

Você também pode gostar