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

Ma ajuta cineva ex 6
Va roggg repede!!!!

Anexe:

Răspunsuri la întrebare

Răspuns de Sergetec
0

Salut!

Ai rezolvarea mai jos

#include <iostream>

#include <cmath>

using namespace std;

bool prim(int n)

{

 if (n <= 1)

 {

   return false;

 }

 else if (n != 2 && n % 2 == 0)

 {

   return false;

 }

 for (int i = 3; i * i <= n; i += 2)

 {

   if (n % i == 0)

   {

     return false;

   }

 }

 return true;

}

int sumcif(int n)

{

 int s = 0;

 while (n)

 {

   int c = n % 10;

   s += c;

   n /= 10;

 }

 return s;

}

int main()

{

 int n, a[1001], cnt = 0;

 cin >> n;

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

 {

   cin >> a[i];

   if (prim(a[i]) && sqrt(sumcif(a[i])) == sumcif(a[i]))

   {

     cnt++;

   }

 }

 cout << cnt;

 return 0;

}


Sergetec: corectie la if ul din for:
if ((prim(a[i])) && (sqrt(sumcif(a[i])) * sqrt(sumcif(a[i])) == sumcif(a[i])))
Alte întrebări interesante