Rezolvare completă PbInfo #1528 Operatii matematice

Maria, Cristi şi Alex au găsit o modalitate de a-şi îmbunătăţi viteza de efectuare a operaţiilor matematice printr-un joc care să corespundă nivelului de vârsta al fiecăruia. Maria ştie doar operaţiile de adunare şi scădere, Cristi a învăţat înmulţirile iar Alex fiind în clasa a 5-a studiază divizibilitatea numerelor.

Jocul se desfăşoară în felul următor: Maria alege o cifra – cifra de start (întotdeauna este nenulă). Cristi o înmulţeşte cu 3. La numărul obţinut de Cristi, Maria adaugă o nouă cifră şi îi spune lui Cristi suma obţinută. Cristi caută cel mai mare multiplu a lui 7 mai mic decât numărul obţinut de Maria şi îl spune Mariei. Aceasta scade din numărul ei multiplul spus de Cristi şi obţine un număr nou. Din acest moment jocul se reia, Cristi înmulţeşte cu 3, Maria alege o cifră şi o adaugă la numărul obţinut de Cristi s.a.m.d…

Între timp Alex este atent la cifrele pe care Maria le-a introdus în joc şi caută să vadă dacă numărul format din aceste cifre este divizibil cu 7.

Cerința

1) Aflaţi care este numărul obţinut de Maria după adăugarea ultimei cifre.
2) Ajutaţi-l pe Alex să verifice dacă numărul format din cifrele alese de Maria este divizibil cu 7.

Date de intrare

Fișierul de intrare operatiimatematice.in conţine pe prima linie numărul de cifre alese de Maria iar pe următoarea linie separate prin spaţiu cifrele în ordinea alegerii acestora.

Date de ieșire

Fișierul de ieșire operatiimatematice.out va conține pe prima linie numărul obţinut la cerința 1 şi pe a doua linie răspunsul DA în cazul în care răspunsul lui Alex trebuie să fie afirmativ, respectiv NU în caz contrar.

Restricții și precizări

  • Numărul de cifre alese de Maria este maxim 100.
  • Pentru rezolvarea corectă a primei cerinţe se obţine 50% din punctajul unui test.

Exemplu 1:

operatiimatematice.in

4
2 3 4 5

operatiimatematice.out

14
DA

Explicație

Maria alege 2 ca cifra de start.
2x3=6; Cristi a înmulţit-o cu 3.
6+3=9; Maria a adăugat următoarea cifră şi Cristi a căutat cel mai mare multiplu a lui 7 mai mic decât 9
9-7=2; Maria scade din numărul ei multiplul spus de Cristi şi se reia jocul
2x3=6; 6+4=10; 10-7=3; 3x3=9; 9+5=14;
Numărul format conform ordinii cifrelor este 2345 și este divizibil cu 7.

Exemplu 2:

operatiimatematice.in

3
3 4 5

operatiimatematice.out

23
NU

Explicație

3x3=9; 9+4=13; 13-7=6;
6x3=18; 18+5=23;
Numărul 345 nu este divizibil cu 7

Cum e corect?

cout < "As la info"; cout << "As la info"; cout >> "As la info";

Felicitări! Poți mai mult?

Avem sute de probleme pentru tine, fiecare cu explicații ușor de înțeles.

Greșit, dar nu-i bai!

Antrenează-te cu sutele de probleme pe care ți le-am pregătit. Îți explicăm fiecare problemă în parte.

Rezolvare

Iată rezolvarea de 100 de puncte pentru problema Operatii matematice:

#include <fstream>

using namespace std;

ifstream f("operatiimatematice.in");
ofstream g("operatiimatematice.out");

int main()
{
    int n,a,i,x,y;
    f>>n;
    f>>x;
    for(i=2;i<n;i++)
    {
        x=x*3;
        f>>y;
        x=x+y;
        a=0;
        while (a*7<=x) a++;
        a--;
        a*=7;
        x-=a;
    }
    x*=3;
    f>>y;
    x+=y;
    g<<x<<"\n";
    if (x%7==0) g<<"DA";
    else g<<"NU";
    f.close();
    g.close();
    return 0;
}

Atenție

Enunțurile afișate pe această pagină aparțin exclusiv site-ului PbInfo. Astfel, pentru ștergerea conținutului, puteți să ne contactați la adresa Adresa de email.

Rezolvarea problemei #1528 Operatii matematice

Pe această pagină găsești rezolvarea de 100 de puncte pentru problema #1528 Operatii matematice de pe PbInfo.ro. Atenție: nu încurajăm copiatul codului! Totuși, credem cu tărie că analizarea unei soluții corecte este o metodă foarte ușoară de a învăța informatică, astfel că oferim sursele pentru peste 1500 de probleme de pe platforma PbInfo.ro.

Pentru rezolvări PbInfo de la peste 1500 de probleme, vă invităm să intrați pe site-ul nostru!