2013 province java c-2 组素数
标题: 组素数
素数就是不能再进行等分的数。比如: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 组素数相关推荐
- 2013蓝桥杯java试题_蓝桥杯2013决赛java本科b组试题.doc
蓝桥杯2013决赛java本科b组试题.doc 试题一:公式求值问题描述输入n,m,k,输出下面公式的值.其中C_n^m是组合数,表示在n个人的集合中选出m个人组成一个集合的方案数.组合数的计算公式如 ...
- 用Java编写约分最简公式,2013年Java方向C组第五题
第五题 标题:有理数类 有理数就是可以表示为两个整数的比值的数字.一般情况下,我们用近似的小数表示.但有些时候,不允许出现误差,必须用两个整数来表示一个有理数. 这时,我们可以建立一个"有理 ...
- 蓝桥杯13-20届真题答案和解析(Java 大学 B 组)2013年省赛真题3_振兴中华
蓝桥杯13-20届真题解析(Java 大学 B 组)2013年省赛真题3_振兴中华 一.振兴中华[填空] 1.题目描述 2.简要分析 3.代码实现(递归) 4.答案 一.振兴中华[填空] 1.题目描述 ...
- 金蝉素数c语言,算法笔记_204:第四届蓝桥杯软件类决赛真题(Java语言C组)
前言:以下代码仅供参考,若有错误欢迎指正哦~ 1好好学习 汤姆跟爷爷来中国旅游.一天,他帮助中国的小朋友贴标语.他负责贴的标语是分别写在四块红纸上的四个大字:"好.好.学.习".但 ...
- 2013\Province_Java_C\2.组素数
标题: 组素数 素数就是不能再进行等分的数.比如:2 3 5 7 11 等. 9 = 3 * 3 说明它可以3等分,因而不是素数. 我们国家在1949年建国.如果只给你 1 9 4 9 这4个数字卡片 ...
- 【每日蓝桥】2、一三年省赛Java组真题“组素数”
你好呀,我是灰小猿,一个超会写bug的程序猿! 欢迎大家关注我的专栏"每日蓝桥",该专栏的主要作用是和大家分享近几年蓝桥杯省赛及决赛等真题,解析其中存在的算法思想.数据结构等内容, ...
- 第五届省赛(软件类)真题----Java大学C组答案及解析
第五届省赛(软件类)真题--Java大学C组答案及解析 杨辉三角 调和级数 回文素数 过大年 位平方和 单位分数 n级台阶 一.杨辉三角 二项式的系数规律,我国数学家很早就发现了. 如[图1.png] ...
- 【每日蓝桥】2、一三年省赛JavaC组真题“组素数”
你好呀,我是灰小猿,一个超会写bug的程序猿! 欢迎大家关注我的专栏"每日蓝桥",该专栏的主要作用是和大家分享近几年蓝桥杯省赛及决赛等真题,解析其中存在的算法思想.数据结构等内容, ...
- 蓝桥杯2013年第四届C++B组省赛真题
蓝桥杯 由于最近正在准备蓝桥杯的比赛,打算把这几年的真题做做,正好把蓝桥杯的笔记也发出来,方便以后自己查看笔记,也欢迎大家批评指正错误 2013年第四届C++B组省赛真题 高斯日记 题目描述 大数学家 ...
最新文章
- Unity进阶技巧 - RectTransform详解
- Qt creator使用笔记
- C#如何获得当前程序所在的目录
- 为没有源码的DLL文件添加强名称
- php如何实现添加到购物车_PHP实现添加购物车功能
- 有感:仅在面试时攻克 MySQL 还不够
- 小程序引用icon图标(入门)
- RISC-V工具链环境(基于Debian/Linux操作系统)
- Spring MVC 文件上传 文件下载
- 新项目上传到码云托管
- 躺着收钱月入过万,怎样才能做到?
- 图层重命名快捷键_玩转CAD快捷键(大全),一篇文章就够了
- 如何才能实现文字转语音播放?只要这三个步骤就能快速搞定!
- html 在线打开pdf文件,Html打开pdf、word、xls等文件
- 企业电子采购管理系统解决方案:供应商内外协同,全程电子化采购系统管理
- HTTP常见状态码 200 301 302 404 500
- 判断字符串是否是对称字符串
- Linux串口测试工具
- 垃圾回收器之串行、吞吐量优先、响应时间优先的的垃圾回收器
- DevExpress52 汉化