Funções matemáticas
Publicado por Diego Furtado (última atualização em 22/09/2009)
[ Hits: 11.090 ]
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;
}
Patch para Zsnes 1.51 com GCC>=4.3
Busca do código do produto-Vetores----
Nenhum comentário foi encontrado.
O Editor de Texto Nano: Simplicidade no Terminal
SynapSeq - programa para estimular as ondas cerebrais
Por que seu __DIR__ falhou ou o "inferno" dos caminhos no PHP
Preparando-se para certificações da LPI através do LPI Lab
Migração de Arch Linux para repositórios CachyOS (Uso de Instruções v3 e v4)
Jogando "Magic" gratuitamente no Linux
Zoxide e fzf no bash para incrementar o uso do Terminal
As diferencas entre o clipboard comum e a selecao ativa
Arch Linux com repos do CachyOS para otimização ou usar Gentoo?
Eu aprendi o segredo das artes! hahaha (4)
A falsa sensação de que entende a tal da palavra! (0)
Como instalo o Clipper/Harbour no Linux Ubuntu (0)









