Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <fstream>
- using namespace std;
- ifstream fin ("matrice.in");
- ofstream fout ("matrice.out");
- int n, v[51][51];
- void afisare()
- {
- for(int i=1;i<=n;i++)
- {
- for(int j=1;j<=n;j++)
- {
- fout<<v[i][j]<<" ";
- }
- fout<<'\n';
- }
- }
- bool prim(int n)
- {
- if(n%2==0)
- return false;
- if(n<2)
- return false;
- for(int d=1;d*d<=n;d+=2)
- {
- if(n%d==0)
- return false;
- }
- return true;
- }
- bool superprim(int n)
- {
- int aux=n, c=1;
- while(aux!=0)
- {
- aux/=10;
- c*=10;
- }
- // cout<<c<<" ";
- bool OK=false;
- aux=n;
- if(c==10)
- {
- if(prim(aux)==true)
- return true;
- else
- return false;
- }
- c/=10;
- do
- {
- if(prim(aux)==true){
- OK=true;break;
- }
- // cout<<aux<<" ";
- aux=((aux%((c-1)*10))*10)+aux/((c-1)*10);
- // cout<<aux<<" ";
- //cout<<aux<<" ";
- }while(n!=aux && OK==false);
- return OK;
- }
- int main()
- {
- fin>>n;
- for(int i=1;i<=n;i++)
- {
- for(int j=1;j<=n;j++)
- {
- fin>>v[i][j];
- }
- }
- for(int i=1;i<=n/2;i++)
- {
- for(int j=i+1;j<n-i+1;j++)
- {
- int aux=v[i][j];
- v[i][j]=v[n-i+1][j];
- v[n-i+1][j]=aux;
- }
- }
- for(int j=1;j<=n/2;j++)
- {
- for(int i=j+1;i<=n-j;i++)
- {
- if(superprim(v[i][j])==true && superprim(v[i][n-j+1])==true){
- int aux=v[i][j];
- v[i][j]=v[i][n-j+1];
- v[i][n-j+1]=aux;}
- }
- }
- //cout<<superprim(124)<<" "<<superprim(32);
- afisare();
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement