Problema comprensione algoritmo

di il
2 risposte

Problema comprensione algoritmo

Ho trovato questo algoritmo che permette di eseguire moltiplicazione attraverso un ciclo di somme, ma è proprio il funzionamento di questo che non capisco. Scrivo il codice e commento la parte a me incomprensibile. Grazie in anticipo per l'aiuto.

#include <iostream>
 
using namespace std;
 
int main()
{
    int a , b, mul = 0;
    cout <<"Inserire i numeri da moltiplicare";
    cin>>a>>b;
   cout<<""
 
    for (int i = 1; i <= a; i++)          //Non mi è ben chiaro cosa faccia questo ciclo for
        mul = mul + b;                     //Il valore della b inserito dall'utente a quale valore della variabile mul andrà sommato? Quanto vale mul?
 
    cout << a << " * " << b << " = " << mul << endl;
 
    return 0;
}

2 Risposte

  • Re: Problema comprensione algoritmo

    Il ciclo for funziona semplicemente facendo assumere ad i i valori partendo da 1 fino ad a
    Se a vale 5, allora i diventerà
    1
    2
    3
    4
    5

    Ad ogni conteggio verrà eseguita la riga successiva

    La riga successiva serve ad accumulare il valore b in mul
    Se il ciclo viene ripetuto 5 volte e b vale 3 verrà eseguito

    mul = 0 + 3

    quindi mul diventa 3, e al prossimo giro

    mul = 3 + 3

    e mul diventa 6, al prossimo giro

    mul = 6 + 3

    ... e così via. Dato che il ciclo viene ripetuto tante volte quanto vale a, il risultato sarà eguale a

    a somme di b

    ovvero a * b

    Cioè quel codice realizza tramite successive addizioni, la moltiplicazione di a * b
  • Re: Problema comprensione algoritmo

    Grazie per la spiegazione ora è molto più chiaro, in pratica la moltiplicazione di aper b-volte viene eseguita tramite somme successive
Devi accedere o registrarti per scrivere nel forum
2 risposte