Informatică, întrebare adresată de CosminBarosanu, 8 ani în urmă

Se dă o matrice cu n linii și m coloane nr. naturale. Se cere :
a) câte elemente prime sunt pe conturul matricii.
b) afișați elementele din matrice care sunt precedate de un număr prim​

Răspunsuri la întrebare

Răspuns de aritonmihaim
0

Răspuns:

#include <iostream>

using namespace std;

bool ciur[1000001];

int v[1001][1001], t[1000001];

int main()

{

   ciur[0]=ciur[1]=1;

   for(int i=2; i*i<=1000000; i++)//ciurul lui Eratostene

   {

       if(ciur[i]==0)

       {

           for(int j=i*i; j<=1000000; j+=i)

           ciur[j]=1;

       }

   }

   

   long long n, m, cnt=0, k=0;

   cin>>n>>m;

   for(int i=1; i<=n; i++)//Matricea

   {

       for(int j=1; j<=m; j++)

       cin>>v[i][j];

   }

   for(int i=1; i<=n; i++)

   {

       for(int j=1; j<=m; j++)

       {

           if((i==1 || j==1 || i==n || j==m) && ciur[v[i][j]]==0)//conturul

           cnt++;

           if(ciur[v[i][j-1]]==0)//precedentul

           {

               k++;

               t[k]=v[i][j];

           }

       }

   }

   cout<<cnt<<endl;

   for(int i=1; i<=k; i++)

   cout<<t[i]<<" ";

   return 0;

}

Explicație:

...


CosminBarosanu: cam lunga rezolvarea nu cred ca este rezolvare de a 9 a
aritonmihaim: sunt a 6-a:)
Alte întrebări interesante