Funções matemáticas
Publicado por Diego Furtado (última atualização em 22/09/2009)
[ Hits: 10.930 ]
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;
}
Nenhum comentário foi encontrado.
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
Novos apps de produtividade, avanços em IA e distros em ebulição agitam o universo 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
dpkg: erro: gatilho de arquivo duplicado chamado pelo arquivo de nome (6)
Instalação não está resolvendo as dependencias (2)
Captação de áudio no zorin linux começa a diminuir com o tempo (5)
Alternativas ao Multilogin para gerenciamento de múltiplas contas/prof... (0)









