华为OJ训练之0036-170112-素数伴侣

来源:互联网 发布:js把数字转换为字符串 编辑:程序博客网 时间:2024/05/20 04:08

===========================================

题目描述

//若两个正整数的和为素数,则这两个正整数称之为“素数伴侣”,如2和5、6和13,它们能应用于通信加密。现在密码学会请你设计一个程序,从已有的N(N为偶数)个正整数中挑选出若干对组成“素数伴侣”,挑选方案多种多样,例如有4个正整数:2,5,6,13,如果将5和6分为一组中只能得到一组“素数伴侣”,而将2和5、6和13编组将得到两组“素数伴侣”,能组成“素数伴侣”最多的方案称为“最佳方案”,当然密码学会希望你寻找出“最佳方案”。
//输入:
//有一个正偶数N(N≤100),表示待挑选的自然数的个数。后面给出具体的数字,范围为[2,30000]。
//输出:
//输出一个整数K,表示你求得的“最佳方案”组成“素数伴侣”的对数。
//
//知识点 查找,搜索,排序
//运行时间限制 10M
//内存限制 128
//输入
//输入说明
//1 输入一个正偶数n
//2 输入n个整数
//输出
//求得的“最佳方案”组成“素数伴侣”的对数。
//样例输入 4 2 5 6 13
//样例输出 2

==========================================

三次没有通过 蓝瘦香菇

明明测了好几个都没错的呀 今天运势不好

===========================================

package package02;import java.util.Scanner;//题目描述//若两个正整数的和为素数,则这两个正整数称之为“素数伴侣”,如2和5、6和13,它们能应用于通信加密。现在密码学会请你设计一个程序,从已有的N(N为偶数)个正整数中挑选出若干对组成“素数伴侣”,挑选方案多种多样,例如有4个正整数:2,5,6,13,如果将5和6分为一组中只能得到一组“素数伴侣”,而将2和5、6和13编组将得到两组“素数伴侣”,能组成“素数伴侣”最多的方案称为“最佳方案”,当然密码学会希望你寻找出“最佳方案”。//输入://有一个正偶数N(N≤100),表示待挑选的自然数的个数。后面给出具体的数字,范围为[2,30000]。//输出://输出一个整数K,表示你求得的“最佳方案”组成“素数伴侣”的对数。// //知识点   查找,搜索,排序//运行时间限制    10M//内存限制  128//输入    //输入说明//1 输入一个正偶数n//2 输入n个整数//输出    //求得的“最佳方案”组成“素数伴侣”的对数。//样例输入  4 2 5 6 13//样例输出  2public class oj036 {    int maxcount=0;    //使用全排列    void permutation(int[] a,int k,int m)      {          int i,j;          if(k == m)          {              int count=0;            for(i=0;i<=m;i++)              {            //根据这种排列的结果 找素数对                if(i<m)                {                    System.out.print(a[i]);System.out.print(a[i+1]);                    if(isPrime(a[i]+a[i+1])){count++;}                    i++;                }            }            if(count>maxcount){maxcount=count;}            System.out.println();          }          else          {              for(j=k;j<=m;j++)              {                  int t=a[j];                a[j]=a[k];                a[k]=t;                permutation(a,k+1,m);                   t=a[j];                a[j]=a[k];                a[k]=t;            }          }      }    public boolean isPrime(int n) {        boolean re = true;        for (int i = 2; i < n; i++) {            if (n % i == 0) {                re = false;                break;            }        }        if (n <= 1) {            re = false;        }        return re;    }    public static void main(String[] args) {        Scanner scanner=new Scanner(System.in);        int n=scanner.nextInt();        int[] number=new int[n];        for(int i=0;i<n;i++)        {            number[i]=scanner.nextInt();        }        oj036 oj=new oj036();        oj.permutation(number, 0, n-1);        System.out.print(oj.maxcount);    }}
0 0
原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 宝宝出生十天了奶水不够吃怎么办 宝宝晚上不吃奶了奶水多怎么办 我家小孩六个月了奶不够吃怎么办 六个月的宝宝奶不够吃怎么办 宝贝六个月了奶不够吃怎么办 奶不够吃宝宝又不吃奶粉怎么办 婴儿到新环境哭闹不睡觉怎么办 婴儿到陌生地方狂哭不止怎么办 在家里遇到有人有陌生人敲门怎么办 在家里晚上睡觉遇到持刀小偷怎么办 在租房中房东随意调换房间怎么办 梦见熟人当面说我坏话偷东西怎么办 偷了家里的存折拿了钱该怎么办 故意让小偷偷车捉住他怎么办 进屋门正对着厕所门怎么办 楼房对面门上放个镜子我该怎么办 从顺丰发的水果坏了顺丰不管怎么办 汽车塑料件被机头水腐蚀了怎么办 孕期吃了炒菜里面加的香精怎么办 五个月宝宝只长身高不长体重怎么办 孩子6个月奶水越来越少怎么办 孩子快三个月了奶水越来越少怎么办 老婆生完孩子乳房肿胀不下奶怎么办 大人吃了退烧药不出汗怎么办 三岁宝宝抵抗力差总生病怎么办 8个月宝宝发烧39度怎么办 小孩发烧吃了药不退烧怎么办 小孩一直发烧39度左右不退怎么办 九个月宝宝反复发烧39度怎么办 八个月宝宝反复发烧39度怎么办 十个月宝宝反复发烧39度怎么办 2岁宝宝反复发烧怎么办39度左右 宝宝两周岁光吃水果不吃饭怎么办 3岁宝宝光吃水果不吃饭怎么办 中学生就爱玩儿游戏不爱学习怎么办 一岁宝宝只吃水果不吃饭怎么办 孩子发烧咳嗽怎么办最有效的方法 打了百白破孩子一直发烧咳嗽怎么办 顺产侧切肛门坠胀解大便难受怎么办 2岁拉肚子拉水怎么办吃什么药 三岁宝宝三天没拉大便怎么办