Funções matemáticas
Publicado por Diego Furtado (última atualização em 22/09/2009)
[ Hits: 10.939 ]
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;
}
Passando parâmetros com getopt
Nenhum comentário foi encontrado.
IA Turbina o Desktop Linux enquanto distros renovam forças
Como extrair chaves TOTP 2FA a partir de QRCODE (Google Authenticator)
Linux em 2025: Segurança prática para o usuário
Desktop Linux em alta: novos apps, distros e privacidade marcam o sábado
IA chega ao desktop e impulsiona produtividade no mundo Linux
Como instalar o repositório do DBeaver no Ubuntu
Como instalar o Plex Media Server no Ubuntu
Digitando underscore com "shift" + "barra de espaços"
Como ativar a lixeira e recuperar aquivos deletados em um servidor Linux
Como mudar o nome de dispositivos Bluetooth via linha de comando
Como posso remover arquivos MSG duplicados das minhas pastas de forma ... (0)
Assinador JNLP do Site Portal da Nota Fiscal Eletrônica (4)









