Funções matemáticas
Publicado por Diego Furtado (última atualização em 22/09/2009)
[ Hits: 11.008 ]
Código com funções de fatorial, somatória, potência e primalidade.
/// AUTOR : Diego Furtado de Souza
/// EMAIL : dsouza.bh@gmail.com
/// Espaço VOL : http://www.vivaolinux.com.br/~diegofsouza
#include <stdio.h>
#include <math.h>
//Protótipo das funções
int menu();
int fatorial (int);
int somatoria (int);
double potencia (double, int);
bool primalidade (int);
int main () {
int op, operandos, numero;
double base; //Double para se fazer a base para a potenciação.
do {
op = menu ();
switch (op) {
case 1 : //Calculando o Fatorial
printf("Digite O numero a ser calculado : ");
scanf("%d", &numero);
printf("\nFatorial de %d : %d\n", numero, fatorial(numero));
system("pause");
break;
case 2 : // Somatório
printf("Digite quantas somas deseja fazer :");
scanf("%d", &operandos);
printf("\nSomatorio dos numeros : %d", somatoria(operandos));
system("pause");
break;
case 3 : //Potencia
printf("Digite a base : ");
scanf("%lf", &base);
printf("\nDigite o expoente : ");
scanf("%d", &operandos);
printf("\nResultado : %.lf\n", potencia(base, operandos));
system("pause");
break;
case 4 : //Verifica se o número é primo.
printf("Digite O numero : ");
scanf("%d", &numero);
if (primalidade(numero))
printf("\nNumero primo!\n");
else
printf("\nNumero Composto!\n");
system("pause");
break;
case 5 :
break;
default : printf("Opcao invalida!\n"); system("pause");
}
} while (op != 5);
return 0;
}
//Escopo das funções
int menu () {
system("cls");
int op;
printf("1 - Fatorial\n2 - Somatoria\n3 - Potencia\n4 - Verificar N. Primo\n5 - Sair\n");
scanf("%d", &op);
return op;
}
int fatorial(int x) {
int fat = x;
while (fat > 1) {
x *= fat - 1;
fat--;
}
return x;
}
int somatoria(int op) {
int num, soma = 0;
for (int i = 0; i < op; i++) {
scanf("%d", &num);
soma += num;
}
return soma;
}
double potencia(double x, int y) {
for (int i = 1; i < y; i++)
x *= x;
// potencia = pow(x, y); //Função pronta para cálculo da potência.
return x;
}
bool primalidade(int p) {
int x = p - 1;
while (x > 1) {
if (p % x == 0)
return 0;
x--;
}
return 1;
}
programa para solucionar problemas com triangulos
SIMULADOR DE DADOS DE RPG - Baseado em Vampiro A Máscara - Alea Jacta Est ver2.0.1
SIMULADOR DE DADOS DE RPG VAMPIRO A MÁSCARA - Corrigido
Nenhum comentário foi encontrado.
Cirurgia para acelerar o openSUSE em HD externo via USB
Void Server como Domain Control
Modo Simples de Baixar e Usar o bash-completion
Monitorando o Preço do Bitcoin ou sua Cripto Favorita em Tempo Real com um Widget Flutuante
[Resolvido] VirtualBox can't enable the AMD-V extension
Como verificar a saúde dos discos no Linux
Como instalar , particionar, formatar e montar um HD adicional no Linux?
Como automatizar sua instalação do Ubuntu para desenvolvimento de software.









