Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <fstream>
- #define N 100
- using namespace std;
- int n,b[N];
- long long v[N],p[N];
- ifstream f("becuri1.in");
- ofstream g("becuri1.out");
- void citire(long long v[],int n)
- {
- for(int i=0;i<n;++i)
- f>>v[i];
- }
- void numarare(long long p[])
- {
- int i,cp;
- for(i=0;i<n;++i)
- {
- p[i]=1;
- cp=v[i];
- if(cp==0)
- p[i]=1;
- else
- {
- while(cp)
- p[i]*=10,cp/=10;
- p[i]=p[i]/10;
- }
- }
- }
- void cerinta_1(long long v[],int n)
- {
- int ca=0;
- numarare(p);
- for(int i=0;i<n;++i)
- if(v[i]/p[i]==2||v[i]/p[i]==3||v[i]/p[i]==5||v[i]/p[i]==7)
- ++ca;
- g<<ca;
- }
- void cerinta_2(long long v[],int n)
- {
- int c=0,maxbec,maxp=0;
- numarare(p);
- for(int i=0;i<n;++i)
- {
- if(p[i]>maxp)
- maxp=p[i];
- if(v[i]/p[i]==2||v[i]/p[i]==3||v[i]/p[i]==5||v[i]/p[i]==7)
- ++c;
- }
- maxbec=c;
- while(maxp!=1)
- {
- c=0;
- for(int i=0;i<n;++i)
- {
- v[i]=v[i]%p[i]*10+v[i]/p[i];
- if(v[i]/p[i]==2||v[i]/p[i]==3||v[i]/p[i]==5||v[i]/p[i]==7)
- ++c;
- }
- if(c>maxbec)
- maxbec=c;
- maxp/=10;
- }
- g<<maxbec;
- }
- void cerinta_3(long long v[],int n)
- {
- int maxp=0;
- numarare(p);
- for(int i=0;i<n;++i)
- {
- if(p[i]>maxp)
- maxp=p[i];
- if(v[i]/p[i]==2||v[i]/p[i]==3||v[i]/p[i]==5||v[i]/p[i]==7)
- ++b[i];
- }
- while(maxp!=1)
- {
- for(int i=0;i<n;++i)
- {
- v[i]=v[i]%p[i]*10+v[i]/p[i];
- if(v[i]/p[i]==2||v[i]/p[i]==3||v[i]/p[i]==5||v[i]/p[i]==7)
- ++b[i];
- }
- maxp/=10;
- }
- maxp=0;
- for(int i=0;i<n;++i)
- if(b[i]>maxp)
- maxp=b[i];
- if(maxp==0)
- g<<-1<<' ';
- else
- for(int i=0;i<n;++i)
- if(b[i]==maxp)
- g<<i+1<<' ';
- }
- int main()
- {
- int c;
- f>>c>>n;
- citire(v,n);
- switch(c)
- {
- case 1: cerinta_1(v,n); break;
- case 2: cerinta_2(v,n); break;
- case 3: cerinta_3(v,n); break;
- }
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement