Informatică, întrebare adresată de alexiapantazi, 8 ani în urmă

Cerințe:
a) Scrieți un subprogram care primește la intrare un număr natural dat, n, de maxim 9 cifre, și întoarce suma cifrelor acestui număr.
b) Să se utilizeze acest subprogram pentru a calcula suma cifrelor numărului obținut în urma efectuării sumei S=1+2+3+...+x , unde x este un număr natural citit de la tastatură.

Răspunsuri la întrebare

Răspuns de barnaiustin17
0

Răspuns:

a)

#include <iostream>

using namespace std;

int main()

{

   int a,uc,s;

   s=0;

   cout<<"Introdu un numar: ";cin >>a;

   while(a>0)

   {

       uc=a%10;

       a=a/10;

       s=s+uc;

   }

   cout<<"Suma cifrelor este: "<<s;

   return 0;

}

b)

#include <iostream>

using namespace std;

int main()

{

   int a,uc,s_cifre,s;

   s_cifre=0;

   cout<<"Introdu un numar: ";cin >>a;

   s=a;

   for(int i=0;i<a;i++){

       s=s+i;

   }

   while(s>0)

   {

       uc=s%10;

       s=s/10;

       s_cifre=s_cifre+uc;

   }

   cout<<"Suma cifrelor este: "<<s_cifre;

   return 0;

}

Răspuns de Sergetec
1

Salut!

Ai mai jos rezolvarile in limbaj C++

a)

int sumCif(int n)

{

 int s = 0;

 while (n != 0)

 {

   int c = n % 10;

   s += c;

   n /= 10;

 }

 return s;

}

b)

#include <iostream>

using namespace std;

int sumCif(int n)

{

 int s = 0;

 while (n != 0)

 {

   int c = n % 10;

   s += c;

   n /= 10;

 }

 return s;

}

int main()

{

 int n, s = 0;

 cin >> n;

 for (int i = 1; i <= n; i++)

 {

   s += i;

 }

 cout << sumCif(s);

return 0;

}

Alte întrebări interesante