Pentru un număr natural n
se generează submulțimile de numere naturale de forma {0} {1, 2} {3, 4, 5} {6, 7, 8, 9} ...
unde ultima submulțime are n
elemente.
Cerință
Scrieți un program care citește de la tastatură trei numere naturale n
, k
și r
și afișează:
- câte submulțimi sunt formate dintr-un număr de elemente pare(cardinalul submulțimilor este un număr par)
- media aritmetică a elementelor din submulțimile cu număr de ordine
k
șir
(0 < k ≤ r ≤ 100
) - elementele submulțimii
r
sub forma: primul, al doilea, ultimul, al treilea, al patrulea, penultimul, etc.
Date de intrare
Programul va citi de la tastatură n
, k
și r
numere naturale.
Date de ieșire
Se afișează fiecare pe câte o linie :
- numărul de submulțimi cu număr de elemente pare
- media aritmetică a numerelor din submulțimile
k
șir
- elementele submulțimii
r
sub forma: primul, al doilea, ultimul, al treilea, al patrulea, penultimul, etc.
Restricții și precizări
1 ≤ k ≤ r ≤ n ≤ 100
Exemplu
Date de intrare
10 5 7
Date de ieșire
5 19 21 22 27 23 24 26 25
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 submultimi_2:
#include <iostream>
using namespace std;
int n,k,r;
int main()
{
cin>>n>>k>>r;
cout<<n/2<<"\n";
int p=((k-1)*k)/2; // primul element din submultimea k
int u=p+k-1; // ultimul element din submultimea k
int p1=((r-1)*r)/2; // primul element din submultimea r
int u1=p1+r-1; // ultimul element din submultimea r
cout<<(((u1+1)*u1)/2- (p1*(p1-1))/2+((u+1)*u)/2- (p*(p-1))/2)/(k+r)<<"\n";
int i=1;
while(i<=r)
{
cout<<p1<<" ";
i++;
if(i<=r)
cout<<p1+1<<" ";
i++;
if(i<=r)
cout<<u1<<" ";
i++,p1=p1+2,u1--;
}
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 #2999 submultimi_2
Pe această pagină găsești rezolvarea de 100 de puncte pentru problema #2999 submultimi_2 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!