RSS

Suma şi produsul cifrelor unui număr

02 Apr

Am scris un algoritm care calculează suma şi produsul cifrelor unui număr “n” introdus de la tastatură🙂

#include<iostream.h>
#include<conio.h>
int main()
{ int n,suma=0,produs=1;
 cout<<"n="; cin>>n;
 while(n!=0)
 { suma=suma+n%10;
 produs=produs*(n%10);
 n=n/10; }
 cout<<"Suma cifrelor este: "<<suma;
 cout<<endl;
 cout<<"Produsul cifrelor este: "<<produs;
 getch(); }

Later edit : Varianta 2, optimizată :

#include<iostream.h>
#include<conio.h>
int main()
{ int n,x,suma=0,produs=1;
 cout<<"n="; cin>>n;
 while(n!=0)
 { x=n%10;
 suma=suma+x;
 produs=produs*x;
 n=n/10; }
 cout<<"Suma cifrelor este: "<<suma;
 cout<<endl;
 cout<<"Produsul cifrelor este: "<<produs;
 getch(); }
 
6 Comments

Posted by on April 2, 2011 in Uncategorized

 

Tags: ,

6 responses to “Suma şi produsul cifrelor unui număr

  1. zaqk

    April 3, 2011 at 07:24

    neat!
    desi mai este loc de o optimizare😛

    n%10 este evaluat de doua ori, la fiecare pas🙂

     
  2. r4dhu

    April 3, 2011 at 13:30

    Da, dar nu prea mă prind cum aş putea modifica algoritmul…

     
  3. zaqk

    April 3, 2011 at 18:31

    suma=suma+n%10;
    se evalueaza n%10 si se aduna cu suma, apoi valoarea rezultata se pune in suma.

    produs=produs*(n%10)
    se evalueaza n%10 si se inmulteste cu produs, apoi valoarea rezultata se pune in produs

    optimizare:
    int x = n%10;
    suma = suma + x;
    produs = produs * x;

    pasi: se evalueaza n%10
    se aduna la suma, rezultatul se pune in suma
    se inmulteste cu produs, rezultatul se pune in produs

     
  4. r4dhu

    April 3, 2011 at 19:45

    Dap, am înţeles acum🙂 şi am şi modificat…

     
  5. Sergiu

    February 26, 2012 at 17:59

    #include
    using namespace std;
    int main ()
    {int s=0,p=1,n;
    cin>>n;
    while(n!=0)
    {s=s+n%10;
    p=p*n%10;
    n=n/10;
    }
    cout<<"suma: "<<s;
    cout<<"produsul: "<<p;
    }
    imi poti spune si mie de ce daca dau de ex n=54 imi da s=9 si p=0
    adica imi zice decat ultima cifra a lui p si nushtiu cum sa fac sa imi arate tot p si nu numai ultima cifra ….

     
  6. R4dhu

    March 4, 2012 at 13:37

    Trebuie scris p=p*(n%10);

     

Lasă un comentariu

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

 
%d bloggers like this: