Ir para o conteúdo
tuasite

Mostrar divisores e factorial

Mensagens Recomendadas

tuasite    0
tuasite

Boas pessoal, agradecia se possivel a vossa ajuda estou a fazer este codigo para calcular o divisor e o factorial de um numero recorrendo à sub programação mas nao me sai do ciclo esta me sempre a pedir para digitar um numero, o codigo é o seguinte:

int factorial(int n)
{
    int fac,i;
    fac=1;
    for (i=2;i<=n;i++);
        fac=fac*i;
    return fac;
}

int mostrardivisores(int n)
{
    int i;
    for (i=1;i<=n/2;i++);
        if (n%i==0)
            printf("%d",i);
            printf("%d",n);
}

int main()
{
    int num,f;
printf("Digite um numero:\n");
scanf("%d",&num);
while (num>=0)
{
        if (num<=0)
        {
	    f=factorial(num);
            printf("Factorial de %d é %d",num,f);
        }
        else
            mostrardivisores(num);
        printf("Digite um numero:\n");
        scanf("%d",&num);
}
return 0;
}

Obrigado

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
Rui Carlos    311
Rui Carlos

Na função mostrardivisores tens um ';' a mais no fim do for.

E não percebi a lógica disto:

while (num>=0)

{

  if (num<=0)

  {

    f=factorial(num);

Só queres calcular o factorial de 0?

EIDT: Na função factorial tens o mesmo problema do ';'.

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
tuasite    0
tuasite

Boas amigo ja corrigi, eu quero mostrar o fatorial dos numero do 0 não ja me mostra os divisores com a tua correcção mas ainda nao me mostra o fatorial, Obrigado.

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
tuasite    0
tuasite

Boas amigo porque tinha uma parte mal no codigo, eu queria que se o numero digitado fosse menos que 10 que ele calculasse o factorial de fosse maior que dez que mostrasse os divisores, ja alterei o codigo e ja faz isso mas queria saber como faço para ele terminar o codigo? Obrigado

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!

Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.

Entrar Agora


×

Aviso Sobre Cookies

Ao usar este site você aceita os nossos Termos de Uso e Política de Privacidade