mi-e greu sa imi dau seama cum faci...
uite o varianta mai simpla:
#include<iostream>
#include<math.h>
using namespace std;
long n,x[25],v[4];
int prim(long long nr)
{
long d;
for(d=2;d<sqrt(nr);d++)
if(nr%d==0)
return 0;
return 1;
}
int sol (int k)
{
long long nr=0;
int i;
nr=x[1];
for(i=2;i<=k;i++)
{nr*=10;
nr+=x[i];
}
if(prim(nr))
return 1;
return 0;
}
void print (int i)
{
int l;
for (l = 1; l <= i; l++)
cout<<x[l];
cout<<endl;
}
void back (int k)
{
int j;
for (j = 1; j <= 3; j++)
{
x[k] = v[j];
if(k==n)
{if(sol(k))
{
print(k);
}}
else
back(k+1);
}
}
int main()
{
cout<<"n=";cin>>n;
cout<<"c1=";cin>>v[1];
cout<<"c2=";cin>>v[2];
cout<<"c3=";cin>>v[3];
back(1);
return 0;
}