Cerința
Se dau n
numere naturale. Aflați câte dintre acestea se pot scrie ca sumă de puteri distincte ale unui număr natural k
.
Date de intrare
Programul citește de la tastatură numerele n
și k
, iar apoi n
numere naturale, separate prin spații.
Date de ieșire
Programul va afișa pe ecran numărul de numere din șirul dat care se pot scrie ca sumă de puteri distincte ale lui k
.
Restricții și precizări
1 ≤ n ≤ 100.000
2 ≤ k ≤ 10
- cele
n
numere citite vor fi mai mici decât1.000.000.000
Exemplu
Intrare
5 3 6 37 12 9 5
Ieșire
3
Explicație
Avem 37=3
3
+3
2
+3
0
, 12 = 3
2
+3
1
, 9 = 3
2
, deci 3
numere se pot scrie ca sumă de puteri distincte ale lui 3
( pentru 6
avem 6 = 3 + 3
, iar 5 = 3 + 1 + 1
nu convin ).
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 puteri1:
#include <iostream>
using namespace std;
int i,n,k,bun,nr,x,c;
int main()
{
cin>>n>>k;
nr=0;
if(k==2)cout<<n;
else{
for(i=1;i<=n;i++)
{
cin>>x;
bun=1;
while((x!=0)&&(bun))
{
c=x%k;
if(c>1)bun=0;
x=x/k;
}
if(bun)nr++;
}
cout<<nr;}
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 #982 puteri1
Pe această pagină găsești rezolvarea de 100 de puncte pentru problema #982 puteri1 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!