segunda-feira, 1 de fevereiro de 2010

Exercícios em C resolvidos:

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 = potencia * x;
contador = contador + 1;
}

printf("\nO valor de %i elevado a %i: %i\n", x, n, potencia);
return 0;
}

/fonte:
http://www.ime.usp.br/~macmulti/exercicios/inteiros/index.html

Nenhum comentário:

Postar um comentário