当前位置: 首页 > news >正文

能通过付费网站看别人空间吗北京seo经理

能通过付费网站看别人空间吗,北京seo经理,陕西建筑工程网,网站建设公司落寞有一个整数n,把从1到n的数字无重复的排列成环,且使每相邻两个数(包括首尾)的和都为素数,称为素数环。 为了简便起见,我们规定每个素数环都从1开始。例如,下图就是6的一个素数环 有多组测试数据…

有一个整数n,把从1到n的数字无重复的排列成环,且使每相邻两个数(包括首尾)的和都为素数,称为素数环。
为了简便起见,我们规定每个素数环都从1开始。例如,下图就是6的一个素数环

有多组测试数据,每组输入一个n(0<n<20),n=0表示输入结束

输入
有多组测试数据,每组输入一个n(0<n<20),n=0表示输入结束。
输出
每组第一行输出对应的Case序号,从1开始。
如果存在满足题意叙述的素数环,从小到大输出。
否则输出No Answer

素数环首先想到如何在一组数据中快速的判断两两之和为素数,则可在开始遍历各种组合之前建立一个素数表,之后有数据和看是否出现在该表中。

素数表的两种保存方式:1:由题n小于20所以两两数之和小于38,所以只需要保存40以内的素数,第一种将所有素数按顺序保存在数组中,对比的时候从头一一对比。2.建立一个数组数组下标作为数字,当它是素数是令其为1否则为0,这时判断时只需将要判断的数作为下标访问数组即可,这里使用第二种更快;

	memset(sa,0,sizeof(sa));for(int ok=1,k=2,j=2;j<40;j++,ok=1)                     /*生成素数表*/ {for(int i=2;i<=j/2;i++){if(j%i==0)	ok=0;}if(ok) sa[j]=1;}
数列的生成:使用递归调用深度优先遍历解答树,此处与全排列的生成方式相同,但在向目标数组一一填入数字时便进行判断,对树进行剪枝。(注:为加快判断将要在目前位置填入的数字是否已经使用,首先建立一个标志数组,以数组下标表示该数当这个数字已被使用让其值为1,没被使用则为0。在递归调用时注意在递归调用之后让该数的值重新为0,即回溯!)

#include <stdio.h>
#include<string.h>
void found(int n,int cur,int a[],int flag[]);
int count,sa[40];
int main(void)
{int i=0,a[20],in[100],flag[20];memset(flag,0,sizeof(flag));memset(sa,0,sizeof(sa));for(int ok=1,k=2,j=2;j<40;j++,ok=1)                     /*生成素数表*/ {for(int i=2;i<=j/2;i++){if(j%i==0)	ok=0;}if(ok) sa[j]=1;}do{scanf("%d",&in[i++]);}while(in[i-1]);a[0]=1;	for(int j=1;j<i;j++){count=1;printf("Case %d:\n",j);if(!(in[j-1]%2)||in[j-1]==1) found(in[j-1],1,a,flag);   /*跳过3以上的奇数加快速度*/ if(count)	printf("No Answer\n");} return 0;
}
void found(int n,int cur,int a[],int flag[])
{if(cur==n&&sa[a[0]+a[cur-1]])    /*不要忘了判断首尾相加是否为素数*/{for(int i=0;i<n;i++)printf("%d ",a[i]);putchar('\n');count=0;}elsefor(int i=2;i<=n;i++)						if(!flag[i]&&sa[i+a[cur-1]])			/*在数组中依次填入满足要求的数*/ {a[cur]=i;flag[i]=1;found(n,cur+1,a,flag);flag[i]=0;                    /*回溯*/}
}

素数表生成( Eratosthenes筛法)
	for(i=2;i<=sqrt(n);i++)//生成1~n以内素数表if(!number[i])for(j=i*i;j<n;j+=i)number[j]=1;


http://www.ritt.cn/news/14552.html

相关文章:

  • 网站建设大致价格2017软文交易平台
  • 商务网站开发方式网页模板免费html
  • 个人性质的网站 备注怎么写新浪体育世界杯
  • 网页制作素材包厉害的seo顾问
  • 盐城哪家做网站的正规今日足球比赛预测推荐分析
  • 泰州网站制作软件网络销售工资一般多少
  • 深圳找网站建设公司搜索引擎营销流程是什么?
  • 海口制作网站葫岛百度seo
  • 网站关键词怎么改今天的国内新闻
  • 行业网站作用优化公司结构
  • 网盘可以做网站空间吗互联网营销师培训内容
  • b2b网络推广大连seo建站
  • 免费发布信息网有哪些网站大数据免费查询平台
  • wordpress一个分类名字app优化
  • 网站建设公司会议网站企业建站公司热线电话
  • html网页设计案例和代码宁波seo推广方式排名
  • 宣城做w网站的公司怎么线上推广自己的产品
  • wordpress自定义字段判断重庆seo网站运营
  • 字体不显示 wordpress百度关键词优化系统
  • 怎么建立网站免费的百度上海推广优化公司
  • 什么是网站名称优帮云首页推荐
  • html做静态网站佛山seo外包平台
  • 做微信推送的网站搜索引擎下载安装
  • wordpress修改秒速苏州网站关键词优化推广
  • 类似知乎可以做推广的网站市场seo是什么
  • 南京做南京华美整容网站企业网络营销推广方法
  • 可以做用户旅程图的网站在运营中seo是什么意思
  • 网站的建设和品牌价值的关系百度域名收录提交入口
  • 免费奖励的网站有哪些友情链接的四个技巧
  • 做英文网站哪里好国外网页模板