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

Cerința :

Se citesc de la tastatură n numere naturale. Să se determine numărul de numere prime formate din ultimele 2 cifre ale fiecărui număr.


Date de intrare :

Fișierul de intrare 2prim.in conține pe prima linie numărul n, iar pe a doua linie n numere naturale din intervalul [10,10000] separate printr-un spațiu.


Date de ieșire :

Fișierul de ieșire 2prim.out va conține numărul de numere care au proprietatea de mai sus.


Restricții și precizări :

1 ≤ n ≤ 10000


Exemplu :


2prim.in :

4

218 433 417 513


2prim.out :

2


Cu rezolvarea mea primesc doar 40 de puncte si nu inteleg ce ar mai trebui sa fac.
(PS: nu are legatura cu numele fisierelor)

Anexe:

Răspunsuri la întrebare

Răspuns de StefanGroparu21
6

Răspuns:

#include<bits/stdc++.h>

using namespace std;

int main()

{

   ifstream f("2prim.in");

   ofstream g("2prim.out");

   int a,nr=0,m,n,nr2=0,nr3=0;

   f>>a;

   while(f>>a)

   {

       nr=0;

       nr2=0;

       while(nr!=2)

       {

          m=a%10;

          a=a/10;

          n=a%10;

          nr=nr+2;

       }

       int h=n*10+m;

       for(int i=1;i*i<=h;i++)

       {

           if(i*i==h)

               nr2++;

           else if(i*i!=h && h%i==0)

           {

               nr2=nr2+2;

           }

       }

if(nr2==2)

   nr3++;

   }

g<<nr3;

return 0;

}

Explicație:

Sper ca te-am ajutat!!!

Anexe:

tudorcristianmoyadct: wow , ok :)
tudorcristianmoyadct: Mersi
StefanGroparu21: Cu plăcere
StefanGroparu21: ce erori primeai pe codul tau?
tudorcristianmoyadct: Nu aveam erori in cod , doar ca nu imi dadea rezultatul corect pentru ultimele 3 teste cred
tudorcristianmoyadct: Poti sa imi explic te rog ce ai facut mai exact in cod :))
StefanGroparu21: In prima parte, calculez h, adica ultimele 2 cifre
StefanGroparu21: Stiu ca m-am complicat prea mult :)
StefanGroparu21: Apoi am verificat daca h este prim
StefanGroparu21: Si daca e prim, il numar...
Alte întrebări interesante