Ir para conteúdo
Fórum Script Brasil
  • 0

fatoração


Gaili

Pergunta

5 respostass a esta questão

Posts Recomendados

  • 0

Como assim fatoração? Para (1) mostrar os divisores para (2) decompor o número?

No primeiro caso é mais fácil:

#include <iostream>
using namespace std;

int main() {
    unsigned num;

    cout << "Digite um numero ";
    cin >> num;

    cout << "\nDivisores de " << num << ": ";
    for (register int i = 1; i <= num; i++)  //de 1 até o número, verifica se é um divisor, se for, escreve o divisor.
        if (!(num%i)) cout << i << ' ';

    return 0;
}
No segundo é um pouco mais complicado, pois para decompor temos que ir dividindo por números primos:
#include <iostream>
using namespace std;

int main() {
    int num, div, i;

    cout << "Digite um numero: ";
    cin >> num;

    cout << "Numero " << num << " decomposto: ";

    div = 2; //primeiro numero primo

    while (num != 1) {
        if (!(num%div)) {
            cout << div << ' ';
            num /= div;
        }
        else div++;
    }

    return 0;
}

Espero ter ajudado!

Editado por Luiz Rodrigo
Link para o comentário
Compartilhar em outros sites

  • 0
Como assim fatoração? Para (1) mostrar os divisores para (2) decompor o número?

No primeiro caso é mais fácil:

No segundo é um pouco mais complicado, pois para decompor temos que ir dividindo por números primos:

Encontrar todos os divisores de um número não é fatorar. A fatoração implica em encontrar divisores que multiplicados resultem no inteiro fatorado.

Link para o comentário
Compartilhar em outros sites

  • 0
E como você está fazendo ou pretende fazer isso?

Amigo, o professor quer um programa que fatore qualquer numero inteiro.EX: digitando 5, o fatorial de 5!= 120

obrigado pela ajuda.

Como assim fatoração? Para (1) mostrar os divisores para (2) decompor o número?

No primeiro caso é mais fácil:

#include <iostream>
using namespace std;

int main() {
    unsigned num;

    cout << "Digite um numero ";
    cin >> num;

    cout << "\nDivisores de " << num << ": ";
    for (register int i = 1; i <= num; i++)  //de 1 até o número, verifica se é um divisor, se for, escreve o divisor.
        if (!(num%i)) cout << i << ' ';

    return 0;
}
No segundo é um pouco mais complicado, pois para decompor temos que ir dividindo por números primos:
#include <iostream>
using namespace std;

int main() {
    int num, div, i;

    cout << "Digite um numero: ";
    cin >> num;

    cout << "Numero " << num << " decomposto: ";

    div = 2; //primeiro numero primo

    while (num != 1) {
        if (!(num%div)) {
            cout << div << ' ';
            num /= div;
        }
        else div++;
    }

    return 0;
}

Espero ter ajudado!

muito obrigado pela ajuda!!

valeu!!

Link para o comentário
Compartilhar em outros sites

  • 0

Isso não é fatorar. Isso é cálculo de fatorial. Nada a ver. Tome mais cuidado ao redigir uma pergunta. Muitas vezes a qualidade da resposta depende da qualidade da pergunta.

Use uma malha FOR pra obter os números de X a X+n e multiplique cada um, armazenando o resultado na variável de retorno. Exemplo (não testado), onde n é o fatorial desejado:

for(i=1,fat=1; i<=n; fat *= i++);

Ou algo do tipo.

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,3k
×
×
  • Criar Novo...