👤

Cerința

Se citesc două numere naturale a şi b, care au acelaşi număr de cifre. Scrieți un program pentru a construi şi afişa un număr natural ccu proprietatea că fiecare cifră a acestuia este partea întreagă a mediei aritmetice a cifrelor situate in aceleaşi poziţii in numerele a şi b.

Date de intrare

Programul citește de la tastatură numerele ași b, separate prin spații.

Date de ieșire

Programul va afișa pe ecran numărul cconstruit.

Restricții și precizări

1 ≤ a, b ≤ 2.000.000.000

Exemplu:
Intrare
7532 5924

Iesire:
6723

Explicație

S-au citit a=7532 şi b=5924, se va afişa c=6723.​


Răspuns :

Răspuns:

#include <iostream>

using namespace std;

int a,b,num,cif1,cif2,med, z=1;

int main()

{

   cin >> a >> b;

   while (a!=0)

   {

       cif1=a%10; cif2=b%10;

       med=(cif1+cif2)/2;

       a=a/10; b=b/10;

       num=med*z+num;

       z=z*10;

   }

   cout << num;

}

Explicație:

deoarece numerele au acelaşi număr de cifre, putem determina în paralel cifrele ce se află în aceleaţi poziţii, aflăm media lor şi generăm numărul căutat. Poate e necesar să explic cum creezi numărul în baza unui exemplu. Fie ai n=237 şi vrei să obţii nu oglinditul lui dar tot valoarea lui n.

z=1;

while (n)

{ cif=n%10; num=cif*z+num; n=n/10; z=z*10;}

execut[ pe hârtie şi vezi că se obţine tot valoarea lui n ... succese!!!