Se citeşte n şi un şir de n numere naturale.

Cerinţa
Să se afișeze elementele din șir care au proprietatea că primele două cifre din scrierea zecimală formează un pătrat perfect.
problema 132 de pe pbinfo
rezolvare fara sqrt​

Răspuns :

Ai mai jos rezolvarea in limbaj C++

#include <fstream>

using namespace std;

ifstream cin("elempp.in");

ofstream cout("elempp.out");

//Rezolvare fara sqrt

bool patrPerf(int n)

{

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

 {

   if (n % i == 0 && n / i == i)

   {

     return true;

   }

 }

 return false;

}

int douaCif(int n)

{

 while (n > 99)

 {

   n = n / 10;

 }

 return n;

}

int main()

{

 int n;

 cin >> n;

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

 {

   int x;

   cin >> x;

   if (patrPerf(douaCif(x)) == true)

   {

     cout << x << " ";

   }

 }

 return 0;

}

Eu am luat 100 de puncte cu rezolvarea asta pe pbinfo si este complet fara sqrt.