Petrică și Ionuț au inventat un joc cu numere și cifre pe care l-au numit Cifmaxmin. Ei au la dispoziție n
cartonașe cu numere formate din cel puțin două cifre și cel mult nouă cifre, dintre care Petrică alege numerele pare și Ionuț alege numerele impare scrise pe cartonașe. Toate numerele de pe cartonașe au cifrele diferite de 0
. Jocul are regulile următoare:
- Din fiecare număr de pe cartonașul extras se alege cifra cea mai mică denumită
cmin
și cifra cea mai mare denumităcmax
. - Pentru fiecare număr par se obține cel mai mare număr format cu cifrele
cmin
șicmax
. - Pentru fiecare număr impar se obține cel mai mic număr format cu cifrele
cmin
șicmax
. - Dintre numerele determinate de Petrică se alege cel mai mare număr, dintre numerele determinate de Ionuț se alege cel mai mic număr.
- După ce au terminat de extras cele
n
cartonașe, fiecare băiat anunță ce număr a obținut conform regulilor jocului și câte cartonașe a extras. - Se folosesc toate cartonașele în joc: dacă un cartonaș are număr par, va fi ales de Petrică, dacă are număr impar va fi ales de Ionuț.
Cerința
Scrieți un program care determină și afișează patru numere, în această ordine: numărul obținut de Petrică, câte cartonașe a extras Petrică, numărul obținut de Ionuț și câte cartonașe a extras Ionuț.
Date de intrare
Fișierul de intrare cifmaxmin.in
in conține pe prima linie un număr n
, reprezentând numărul de cartonașe din joc. Pe a doua linie din fișier se află cele n
numere naturale scrise pe cartonașe, separate între ele printr-un spațiu.
Date de ieșire
Fișierul de ieșire cifmaxmin.out
va conține patru numere naturale, separate între ele printr-un spațiu, în această ordine: numărul obținut de Petrică, câte cartonașe a extras Petrică, numărul obținut de Ionuț și câte cartonașe a extras Ionuț.
Restricții și precizări
1 < n ≤ 1000
- Numerele scrise pe cartonașe sunt formate din cel puțin două cifre și cel mult nouă cifre
- Toate numerele de pe cartonașe au cifrele diferite de
0
- Cartonașele sunt alese în ordinea în care au fost așezate înainte de începerea jocului
- Există cel puțin un număr par și cel puțin un număr impar între numerele de pe cartonașe
Exemplu
cifmaxmin.in
5 1839 47536 28 2459 2496
cifmaxmin.out
92 3 19 2
Explicație
Numerele alese de Petrică sunt: 47536
, 28
și 2496
, din care obține numerele 73
, 82
și 92
. El a extras 3
numere și numărul cel mai mare este 92
. Astfel, din numărul 47536
cifra minimă este 3
și cifra maximă este 7
și se obține numărul 73
etc.
Numerele alese de Ionuț sunt 1839
și 2459
, din care obține numerele 19
și 29
. El a extras 2
numere și numărul cel mai mic este 19
.
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 cifmaxmin1:
#include <fstream>
using namespace std;
ifstream fin("cifmaxmin.in");
ofstream fout("cifmaxmin.out");
int n,x,cmin,cmax,nmin,nmax,catepare,cateimpare;
int main()
{
int i,uc,nr,cx;
nmin=100;
nmax=9;
fin>>n;
for(i=1; i<=n; i++)
{
fin>>x;
cx=x;
cmin=9;
cmax=0;
while(cx!=0)
{
uc=cx%10;
if(uc<cmin)
cmin=uc;
if(uc>cmax)
cmax=uc;
cx=cx/10;
}
if(x%2==0)
{
nr=cmax*10+cmin;
catepare++;
if(nr>nmax)
nmax=nr;
}
else
{
nr=cmin*10+cmax;
cateimpare++;
if(nr<nmin)
nmin=nr;
}
}
fout<<nmax<<" "<<catepare<<" "<<nmin<<" "<<cateimpare;
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 .
Rezolvarea problemei #3383 cifmaxmin1
Pe această pagină găsești rezolvarea de 100 de puncte pentru problema #3383 cifmaxmin1 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!