Somatório e Fatorial com laços em C++

Neste tutorial, vamos resolver duas questões de nossa lista de exercícios de laços, vamos aprender como calcular o somatório e fatorial de um número, usando apenas laços FOR ou WHILE, em C++.

Somatório usando laços em C++

O somatório de um número n nada mais é que a soma dos números de 1 até n.

Então, primeiro pedimos ao usuário um inteiro positivo e armazenamos na variável n.
Vamos usar também uma variável auxiliar aux, que vai percorrer os valores de 1 até n, dentro do looping.

Também vamos usar a variável sum, que vai armazenar a soma de todos esses números. Obviamente, devemos inicializar ela com valor 0.

Veja como fica nosso código usando laço FOR:
#include <iostream>

using namespace std;

int main()
{
    int n, aux, sum=0;

    cout << "Somatório de: ";
    cin >> n;

    for(aux=1 ; aux<=n ; aux++)
        sum += aux;

    cout << "Somatório: " << sum << endl;

    return 0;
}
Agora com laço WHILE:
#include <iostream>

using namespace std;

int main()
{
    int n, aux=1, sum=0;

    cout << "Somatório de: ";
    cin >> n;

    while(aux<=n){
        sum += aux;
        aux++;
    }

    cout << "Somatório: " << sum << endl;

    return 0;
}
Com looping DO WHILE, podendo ser calculada várias vezes e digitando 0 pra terminar o laço:
#include <iostream>
using namespace std;

int main()
{
    int n, aux, sum;

    do{
        cout << "Somatório de: ";
        cin >> n;
        sum = 0;

        for(aux=1 ; aux<=n ; aux++)
            sum += aux;

        cout << "Somatório: " << sum << endl;
        cout<<endl;
    }while(n);

    return 0;
}

Fatorial usando loopings em C++

Se o somatório soma todos os números de 1 até n, o fatorial multiplica todos os números de 1 até n.
O símbolo do fatorial de um número é !.

Por exemplo:
4! = 1 x 2 x 3 x 4 = 24
5! = 1 x 2 x 3 x 4 x 5 = 120

Em vez de sum vamos usar prod pra armazenar o produto.
E ao invés de somar (+=), vamos multiplicar ( *= ).

Usando laço FOR:
#include <iostream>

using namespace std;

int main()
{
    int n, aux, prod=1;

    cout << "Fatorial de: ";
    cin >> n;

    for(aux=1 ; aux<=n ; aux++)
        prod *= aux;

    cout << "Fatorial: " << prod << endl;

    return 0;
}
WHILE:
#include <iostream>
using namespace std;

int main()
{
    int n, aux=1, prod=1;

    cout << "Fatorial de: ";
    cin >> n;

    while(aux<=n){
        prod *= aux;
        aux++;
    }

    cout << "Fatorial: " << prod << endl;

    return 0;
}
DO WHILE:
#include <iostream>
using namespace std;

int main()
{
    int n, aux, prod;

    do{
        cout << "Fatorial de: ";
        cin >> n;
        prod = 1;

        for(aux=1 ; aux<=n ; aux++)
            prod *= aux;

        cout << "Fatorial: " << prod << endl;
        cout<<endl;
    }while(n);

    return 0;
}
Simples, né?

Nenhum comentário:

Postar um comentário