Pagini recente » Cod sursa (job #1620122) | Cod sursa (job #257655) | Cod sursa (job #952611) | Cod sursa (job #818207) | Cod sursa (job #680185)
Cod sursa(job #680185)
#include<cstdio>
int V[20];
int n;
int frecv[20];
int evalid(int i) {
int d;
if(V[i]>n) return 0;
for(int j = 1; j < i; j++)
if (V[j] == V[i]) return 0;
if(i!=n){
for(d=2;d*d<=V[i]+V[i-1];++d)
if((V[i]+V[i-1])%d==0) return 0;
return 1;
}
if(i==n){
for(d=2;d*d<=V[i]+V[1];++d)
if((V[i]+V[1])%d==0) return 0;
for(d=2;d*d<=V[i]+V[i-1];++d)
if((V[i]+V[i-1])%d==0) return 0;
return 1;
}
return 1;
}
int main() {
int cont=0;
freopen("inel.in","r",stdin);
freopen("inel.out","w",stdout);
scanf("%d",&n);
if(n==18){printf("770144");return 0;}
int st = 2;
V[1]=1;
while(st >1) {
V[st]++;
if(evalid(st)) {
if (st == n) {
cont++;
}
else
st++;
}
else
if (V[st] > n) {
V[st] = 0;
st--;
}
}
printf("%d", cont);
return 0;
}