Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <bits/stdc++.h>
- using namespace std;
- ifstream f("divimax.in");
- ofstream g("divimax.out");
- bool v[3600];
- short int a[3100],b[3100];
- int main()
- {
- int n,m,i,j,c,max=-1;
- v[0]=1;
- v[1]=1;
- for(i=2; i*i<=3501; i++)
- {
- if(v[i]==0)
- for(j=2; j<=3501/i; j++)
- v[i*j]=1;
- }
- f>>c>>n;
- if(c==1)
- {
- for(j=1; j<=n; j++)
- {
- int x,div=-1;
- f>>x;
- if(v[x]==0)
- div=x;
- else
- {
- for(i=2; i<=x/2; i++)
- {
- if(x%i==0)
- if(v[i]==0)
- div=i;
- }
- }
- if(div==-1)
- div=1;
- a[j]=div;
- while(div!=0)
- {
- b[j]*10+div%10;
- div=div/10;
- }
- }
- for(i=1; i<n; i++)
- {
- int max=b[i];
- int p=i;
- for(j=i+1; j<=n; j++)
- {
- int aux1=b[i];
- int aux2=b[j];
- while(aux1>0 and aux2>0 and aux1%10==aux2%10)
- {
- aux1=aux1/10;
- aux2=aux2/10;
- }
- if(aux2==0 and aux1>0)
- {
- max=b[j];
- p=j;
- }
- else if(aux2%10>aux1%10)
- {
- max=b[j];
- p=j;
- }
- }
- int aux=a[i];
- a[i]=a[p];
- a[p]=aux;
- aux=b[i];
- b[i]=b[p];
- b[p]=aux;
- }
- for(i=1;i<=n;i++)
- g<<a[i];
- }
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement