Răspuns :
Hmm, incerc sa fac o rezolvare optima, din cate vad nu rezultatul e problema ci viteza de executie. Revin cu un edit
#include <iostream>
using namespace std;
long long suma_cifrelor(long long x)
{
int s = 0;
while(x)
{
s = s + x%10;
x = x / 10;
}
return s;
}
long long prim(long long x)
{
if(x == 2)
return 1;
if(x<2)
return 0;
if(x%2 == 0)
return 0;
for(long long i=3;i*i<=x;i+=2)
if(x%i == 0)
return 0;
return 1;
}
void afisare(long long A, long long B)
{
int nr = 0;
for(long long i=A;i<=B;i++)
if(prim(suma_cifrelor(i)))
nr++;
cout<<nr;
}
int main()
{
long long A, B;
cin>>A>>B;
afisare(A, B);
return 0;
}