Funções matemáticas
Publicado por Diego Furtado (última atualização em 22/09/2009)
[ Hits: 10.961 ]
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
Programa para demonstrar operadores
Nenhum comentário foi encontrado.
Monitorando o Preço do Bitcoin ou sua Cripto Favorita em Tempo Real com um Widget Flutuante
IA Turbina o Desktop Linux enquanto distros renovam forças
Como extrair chaves TOTP 2FA a partir de QRCODE (Google Authenticator)
Como realizar um ataque de força bruta para desobrir senhas?
Como usar Gpaste no ambiente Cinnamon
Atualizando o Fedora 42 para 43
É normal não gostar de KDE? (15)
Erro ao instalar programa, "você tem pacotes retidos quebrados&qu... (13)









