Java全排列算法练习

2023-11-08

题目

**素数就是不能再进行等分的数。比如:2\ 3\ 5\ 7\ 112 3 5 7 11 等。 9 = 3 * 39=3∗3 说明它可以3等分,因而不是素数。

我们国家在 19491949 年建国。如果只给你 1\ 9\ 4\ 91 9 4 9 这 44 个数字卡片,可以随意摆放它们的先后顺序(但卡片不能倒着摆放啊,我们不是在脑筋急转弯!),那么,你能组成多少个 44 位的素数呢?

比如:19491949,49194919 都符合要求。

请你输出能组成的 44 位素数的个数,不要罗列这些素数!!**

代码实现


import java.util.Scanner;
import java.util.HashSet;
// 1:无需package
// 2: 类名必须Main, 不可修改

public class Main {
    public static void main(String[] args) {
        Scanner scan = new Scanner(System.in);
        //在此输入您的代码...
        HashSet<String> set = new HashSet<>();
        String s = "1949";
        f1(set,0,s.length() - 1,s.toCharArray());
        
        int num = 0;
        for(String relsut : set){
          int n = Integer.parseInt(relsut);
          if(judge(n)){
            num++;
          }
        }
        System.out.println(num);
        scan.close();
    }

	//全排列算法
    public static void f1(HashSet<String> set,int from, int to, char[] arr){
      if(from == to){
        set.add(new String(arr));
      }

      for(int i = from; i <= to; i++){
        swap(arr,i,from);
        f1(set,from + 1, to, arr);
        swap(arr, i, from);
      }
    } 

    public static void swap(char[] arr, int i, int j){
       char temp = arr[i];
       arr[i] = arr[j];
       arr[j] = temp;
    }

    public static boolean judge(int n){
      if(n == 2){
        return true;
      }
      for(int i = 2; i < n; i++){
        if(n % i == 0){
          return false;
        }
      }

      return true;
    }
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Java全排列算法练习 的相关文章

随机推荐

  • 判断对象里的属性是否都为空(适用字符串、数组结构对象)

    好久没写博客记录了 场景 表单填写时 填写完对应栏目需要有填完的标识 下面是自己写的一坨代码 export function objecAtrtIsEmpty data 如果是数组 遍历数组里面的 if Array isArray data
  • ubuntu18.04安装pycharm专业版

    安装的pycharm版本 2017 4 操作系统 ubuntu18 04 LTS 步骤1 在官网下载安装包 https www jetbrains com pycharm download section linux 下载文件位于 Down
  • 一. 了解web及网络基础

    一 了解web及网络基础 web world wide web 万维网 是建立在互联网上的网络服务 分为网页和服务器 起初 互联网还只是少数人 为了能够远距离分享知识 前辈们提出一种设想 借助超文本 包含其他文档链接的文本 连成可相互参阅的
  • wangEditor 富文本在vue3的使用

    安装 yarn add wangeditor editor 或者npm install wangeditor editor save yarn add wangeditor editor for vue next 或者 npm instal
  • java大文件下载内存溢出解决办法

    第一种解决办法内存够用的情况 启动时设置 Xmx的值大一点 比如2G 第二种办法代码中使用缓冲流的方式 如果是本地文件就更好 如果是还需要再去文件服务器中下载一次也行 例子 private void download String down
  • 宜搭低代码开发师(高级)考试选择题错误整理集(自己整理的,考试前是50多分,看了后答题93分)

    目录 完成高级选择题认证目标 这是我考了无数次 整理的错题集 希望能够帮助到你 考
  • Win11编译cpu版本的pytorch源码

    1 下载源码和依赖库 首先 在github上下载指定版本的pytorch源码 地址如下 https github com pytorch pytorch 因为在pytorch源码中有一些依赖库是直接给出的超链接 因此都需要直接离线下载依赖库
  • 控制结构程序设计1

    某企业员工按小时计算工资 每月劳动时间 小时 每小时工资 总工资 总工资中扣除10 公积金 剩余的为应发工资 编写一个程序计算并输出某位员工的应发工资 具体要求 该员工的劳动时间和每小时工资数通过键盘输入 且在输入前要有提示信息 在输出结果
  • Node初次安装配置

    Node初次安装配置文档 一 下载Node js 安装Node js Node 官网地址 https nodejs org en 这里我们安装LTX版的 这个比较稳定 检查Node是否安装成功 win R cmd 按住键盘的win键和R键
  • day18Excise1

    1 阅读下面XML文档 然后判断下列说法正确的是 C
  • linux解压gz文件的命令

    解压tar gz文件的命令 LINUX解压缩TAR GZ文件命令 1 解压缩命令格式 tar zxvf 压缩文件名 tar gz 解压缩后的文件只能放在当前的目录 2 压缩命令格式 tar zcvf 压缩文件名 tar gz 被压缩文件名
  • 移动端页面禁止鼠标滑轮滚动的方法

    document body onmousewheel function event event event window event return false 火狐下使用 DOMMouseScroll document body addEv
  • 【数据结构】顺序表,链表

    前言 小亭子正在努力的学习编程 接下来将开启 javaEE 的学习 分享的文章都是学习的笔记和感悟 如有不妥之处希望大佬们批评指正 同时如果本文对你有帮助的话 烦请点赞关注支持一波 感激不尽 目录 前言 顺序表 ArrayList Arra
  • Elasticsearch

    Elasticsearch是一个分布式可扩展的实时搜索和分析引擎 它不仅包括了全文搜索功能 还可以进行以下工作 分布式实时文件存储 并将每一个字段都编入索引 使其可以被搜索 实时分析的分布式搜索引擎 可以扩展到上百台服务器 处理PB级别的结
  • 计算机无法找到扫描仪和照相机,Win7一体机无法安装扫描仪或者没有“扫描选项”的解决办法...

    现在的打印一体机都有打印 扫描 复印功能 而一些用户在win7中安装了打印机后发现扫描仪无法安装或安装后没有扫描选项 那么这样的情况该如何解决呢 现分享方法如下 1 既然扫描仪不能使用 有可能是扫描的服务 Windows Image Acq
  • Java教程:Mybatis一对多查询,并定义ResultMap

    Java教程 Mybatis一对多查询 并定义ResultMap 源码 PO 一方 ApiModel 事故管理 public class OcAccidentPO implements Serializable 事故ID ApiModelP
  • 1. MongoDB快速实战与基本原理

    分布式技术MongoDB 1 MongoDB介绍 1 1 什么是MongoDB 1 2 MongoDB vs 关系型数据库 1 3 MongoDB的技术优势 1 4 MongoDB的应用场景 2 MongoDB快速开始 2 1 linux安
  • 基于Python的在线自主评测系统设计与实现

    博主介绍 擅长Java 微信小程序 Python Android等 专注于Java技术领域和毕业项目实战 文末获取源码联系 精彩专栏推荐订阅 不然下次找不到哟 Java项目精品实战案例 300套 Java微信小程序项目实战 200套 Pyt
  • antd的TreeSelect获取父节点的值

    antd中有个treeSelect树选择组件 数据结构是一个树形结构 当我们点击时候会打开 然后可以选择不同的节点 选中的时候 当前的节点会被回填上输入框 但是现在有个需求是想选择子节点的时候 回填的时候 父节点跟子节点一起回填上 中间加个
  • Java全排列算法练习

    题目 素数就是不能再进行等分的数 比如 2 3 5 7 112 3 5 7 11 等 9 3 39 3 3 说明它可以3等分 因而不是素数 我们国家在 19491949 年建国 如果只给你 1 9 4 91 9 4 9 这 44 个数字卡片