Exercicios resolvidos em c
1. Dado um inteiro positivo p, verificar se p é primo.
#include<stdio.h>
int main(void)
{
int n; /* candidato a primo */ int divisor; /* candidato a divisor de n */ int eprimo; /* indica se n ainda tem chance de ser primo */
printf("Teste de primalidade\n"); printf("Digite um inteiro: "); scanf("%i", &n); printf ("Candidato a primo = %i\n", n);
/* inicializacoes */ if (n <= 1){ eprimo = 0; /* nenhum numero <= 1 é primo */ } else{ eprimo = 1; /* o numero é primo ate que se prove o contrario */ }
/* os candidatos a divisores positivos de n sao 1,2,...,n/2 */ divisor = 2; while (divisor <= n/2 && eprimo == 1){ if (n % divisor == 0){ eprimo = 0; /* n nao é primo! */ } divisor=divisor+1; } printf("O inteiro %i ", n); if (eprimo == 1) { printf("é primo\n");
}
else{ printf("nao é primo\n"); } return 0;
}
2.Dado um inteiro não-negativo n, determinar n!
#include <stdio.h>
int main(void) { int n, /* guarda o numero dado */ contador, fatorial;
printf("Calculo do fatorial de um numero\n"); printf("Digite um inteiro nao-negativo: "); scanf("%i", &n);
/* inicializacoes */ fatorial = 1; contador = 2;
while (contador <= n) { fatorial = fatorial * contador; contador = contador + 1; } printf("O valor de %i: %i\n", n, fatorial); return 0;
}
3. Dados um inteiro x e um inteiro não-negativo n, calcular x n.
#include<stdio.h>
int main() { int x, /* base */ n, /* expoente */ potencia, /* guarda as potencias parciais */ contador; printf("Calculo de potencias\n"); printf("Digite um numero inteiro: \n"); scanf("%i", &x); printf("Digite um numero um natural: "); scanf("%i", &n);
/* Inicializacoes */ potencia = 1; contador = 0;
/* Calculo da potencia */ while (contador != n) {
potencia