hdu--1016 Prime Ring Problem(回溯法求解)
来源:互联网 发布:cq网络陈权 编辑:程序博客网 时间:2024/06/05 03:29
#include "stdio.h"
#include "math.h"
int a[22];
int IsPrime(int num)
{
int i;
for (i=2;i<=sqrt(num);i++)
{
if (num%i==0)
{
return 0;
}
}
return 1;
}
int AllPrime(int sum)
{
int i;
for (i=1;i<sum;i++)
{
if(!IsPrime(a[i]+a[i+1])) return 0;
}
return 1;
}
void main()
{
int i,j,N,g,k,count=1;
for (i=1;i<=21;i++)
{
a[i]=1;
}
while (scanf("%d",&N)!=EOF)
{
i=1;a[1]=1;
printf("Case %d:/n",count);count++;
while(1)
{
g=1;
for(k=i-1;k>=1;k--)
{
if (a[k]==a[i])
{
g=0;break;
}
}
if (!(g&&AllPrime(i))) g=0;
if (g&&i==N&&IsPrime(a[N]+a[1]))
{
if (a[1]==1)
{
for (j=1;j<N;j++)
{
printf("%d ",a[j]);
}
printf("%d/n",a[N]);
}
}
if(g&&i<N)
{
i++;a[i]=1;continue;
}
while(a[i]==N&&i>1) i--;
if (a[2]==N&&i==1) break;
else a[i]=a[i]+1;
}
printf("/n");
}
}
- hdu--1016 Prime Ring Problem(回溯法求解)
- hdu 1016 Prime Ring Problem(回溯)
- Prime Ring Problem (HDU 1016)—— 回溯法
- hdu 1016 Prime Ring Problem(DFS +回溯法)
- HDU 1016 Prime Ring Problem(简单回溯)
- HDU 1016 Prime Ring Problem(DFS回溯)
- HDU-#1016 Prime Ring Problem(DFS+回溯)
- HDU 1016 Prime Ring Problem(回溯/深搜)
- HDU 1016 Prime Ring Problem(经典DFS+回溯)
- HDU 1016 Prime Ring Problem (DFS回溯)
- hdu1016-Prime Ring Problem(回溯法)
- Prime Ring Problem(经典回溯法)
- prime ring problem回溯法
- HDU 1016 Prime Ring Problem(DFS回溯+素数判断)
- Prime Ring Problem(回溯)
- hdu 1016 Prime Ring Problem (深搜)
- hdu 1016 Prime Ring Problem(DFS)
- hdu 1016 Prime Ring Problem(DFS)
- Android内核的编译过程
- 螺旋队列(由外向里)
- 取消 myeclipse 验证 myeclipse 占内存
- openwrt路由系统添加启动项
- SSM Mapping简介
- hdu--1016 Prime Ring Problem(回溯法求解)
- Android build system
- 主流数据库产品回顾与展望
- jquery之管理包装元素集合(筛选元素包装集之整理包装集的内容,not()方法与filter()方法的使用)
- android_launcher的源码详细分析
- Linux操作系统下三种配置环境变量的方法
- 我很无奈
- Android Camera的接口与架构介绍
- 新手