标题: 组素数
素数就是不能再进行等分的数。比如:2 3 5 7 11 等。
9 = 3 * 3 说明它可以3等分,因而不是素数。
我们国家在1949年建国。如果只给你 1 9 4 9 这4个数字卡片,可以随意摆放它们的先后顺序(但卡片不能倒着摆放啊,我们不是在脑筋急转弯!),那么,你能组成多少个4位的素数呢?
比如:1949,4919 都符合要求。
请你提交:能组成的4位素数的个数,不要罗列这些素数!!
注意:不要提交解答过程,或其它的辅助说明文字。

利用全排列将符合条件的所有数都输出,然后人工筛选并计数因为直接用程序输出个数,涉及元素的去重问题,本人尚未解决。(2019/11/13已在最后附最新解法)

//朱茂强 QQ:896228072(望大牛们指教)
public class Set_of_Primes {public static void FullPermutation(char a[], int start, int end) {if (start == end) {String str = new String(a);int ans = Integer.parseInt(str);for (int m = 2; m < ans; m++) {if (ans % m == 0) {break;}}System.out.println(ans);} else {for (int i = start; i <= end; i++) {swap(a, start, i);FullPermutation(a, start + 1, end);swap(a, start, i);}}}public static void swap(char a[], int i, int j) {char temp = a[i];a[i] = a[j];a[j] = temp;}public static void main(String[] args) {// TODO Auto-generated method stubSet_of_Primes t = new Set_of_Primes();char arr[] = { '1', '9', '4', '9' };t.FullPermutation(arr, 0, 3);}
}

最新解法:

public class 组素数 {public static void fullpermutation(int arr[], int start, int end) {if (start == end) {chack(arr);}for (int i = start; i < arr.length; i++) {swap(arr, start, i);fullpermutation(arr, start + 1, end);swap(arr, start, i);}}static Set<Integer> set = new HashSet<>();// 去重private static void chack(int arr[]) {int ans = arr[0] * 1000 + arr[1] * 100 + arr[2] * 10 + arr[3];boolean bool = true;for (int i = 2; i <= ans / 2; i++) {if (ans % i == 0) {bool = false;System.out.println(ans + "no");break;}}// 注意这里的break要直接跳出for循环if (bool) {set.add(ans);// 只追加不重复的结果System.out.println(ans + "yes");}}public static void swap(int a[], int i, int j) {int temp = a[i];a[i] = a[j];a[j] = temp;}public static void main(String[] args) {// TODO Auto-generated method stubint arr[] = { 1, 4, 9, 9 };fullpermutation(arr, 0, 3);//注意这里是数组下标值,不要越界System.out.println(set.size());}
}

2013 province java c-2 组素数相关推荐

  1. 2013蓝桥杯java试题_蓝桥杯2013决赛java本科b组试题.doc

    蓝桥杯2013决赛java本科b组试题.doc 试题一:公式求值问题描述输入n,m,k,输出下面公式的值.其中C_n^m是组合数,表示在n个人的集合中选出m个人组成一个集合的方案数.组合数的计算公式如 ...

  2. 用Java编写约分最简公式,2013年Java方向C组第五题

    第五题 标题:有理数类 有理数就是可以表示为两个整数的比值的数字.一般情况下,我们用近似的小数表示.但有些时候,不允许出现误差,必须用两个整数来表示一个有理数. 这时,我们可以建立一个"有理 ...

  3. 蓝桥杯13-20届真题答案和解析(Java 大学 B 组)2013年省赛真题3_振兴中华

    蓝桥杯13-20届真题解析(Java 大学 B 组)2013年省赛真题3_振兴中华 一.振兴中华[填空] 1.题目描述 2.简要分析 3.代码实现(递归) 4.答案 一.振兴中华[填空] 1.题目描述 ...

  4. 金蝉素数c语言,算法笔记_204:第四届蓝桥杯软件类决赛真题(Java语言C组)

    前言:以下代码仅供参考,若有错误欢迎指正哦~ 1好好学习 汤姆跟爷爷来中国旅游.一天,他帮助中国的小朋友贴标语.他负责贴的标语是分别写在四块红纸上的四个大字:"好.好.学.习".但 ...

  5. 2013\Province_Java_C\2.组素数

    标题: 组素数 素数就是不能再进行等分的数.比如:2 3 5 7 11 等. 9 = 3 * 3 说明它可以3等分,因而不是素数. 我们国家在1949年建国.如果只给你 1 9 4 9 这4个数字卡片 ...

  6. 【每日蓝桥】2、一三年省赛Java组真题“组素数”

    你好呀,我是灰小猿,一个超会写bug的程序猿! 欢迎大家关注我的专栏"每日蓝桥",该专栏的主要作用是和大家分享近几年蓝桥杯省赛及决赛等真题,解析其中存在的算法思想.数据结构等内容, ...

  7. 第五届省赛(软件类)真题----Java大学C组答案及解析

    第五届省赛(软件类)真题--Java大学C组答案及解析 杨辉三角 调和级数 回文素数 过大年 位平方和 单位分数 n级台阶 一.杨辉三角 二项式的系数规律,我国数学家很早就发现了. 如[图1.png] ...

  8. 【每日蓝桥】2、一三年省赛JavaC组真题“组素数”

    你好呀,我是灰小猿,一个超会写bug的程序猿! 欢迎大家关注我的专栏"每日蓝桥",该专栏的主要作用是和大家分享近几年蓝桥杯省赛及决赛等真题,解析其中存在的算法思想.数据结构等内容, ...

  9. 蓝桥杯2013年第四届C++B组省赛真题

    蓝桥杯 由于最近正在准备蓝桥杯的比赛,打算把这几年的真题做做,正好把蓝桥杯的笔记也发出来,方便以后自己查看笔记,也欢迎大家批评指正错误 2013年第四届C++B组省赛真题 高斯日记 题目描述 大数学家 ...

最新文章

  1. Unity进阶技巧 - RectTransform详解
  2. Qt creator使用笔记
  3. C#如何获得当前程序所在的目录
  4. 为没有源码的DLL文件添加强名称
  5. php如何实现添加到购物车_PHP实现添加购物车功能
  6. 有感:仅在面试时攻克 MySQL 还不够
  7. 小程序引用icon图标(入门)
  8. RISC-V工具链环境(基于Debian/Linux操作系统)
  9. Spring MVC 文件上传 文件下载
  10. 新项目上传到码云托管
  11. 躺着收钱月入过万,怎样才能做到?
  12. 图层重命名快捷键_玩转CAD快捷键(大全),一篇文章就够了
  13. 如何才能实现文字转语音播放?只要这三个步骤就能快速搞定!
  14. html 在线打开pdf文件,Html打开pdf、word、xls等文件
  15. 企业电子采购管理系统解决方案:供应商内外协同,全程电子化采购系统管理
  16. HTTP常见状态码 200 301 302 404 500
  17. 判断字符串是否是对称字符串
  18. Linux串口测试工具
  19. 垃圾回收器之串行、吞吐量优先、响应时间优先的的垃圾回收器
  20. DevExpress52 汉化

热门文章

  1. SRS流媒体服务器——服务器读取RTMP推流数据
  2. NOIP练习赛题目1
  3. 联想thinkpad E470无线网络无法使用问题解决方法
  4. [HNOI 2014]米特运输
  5. 理财-股票(扫文章中的二维码下软件)
  6. 大疆Naza-LED模块---或许并不是最佳方案
  7. 浮点数与十六进制互相转换
  8. HTTP代理关闭还是自动的呢?
  9. hihoCoder:#1082 然而沼跃鱼早就看穿了一切
  10. ST32/GD32嵌入式硬件开发总目录