`
yaoweinan
  • 浏览: 138370 次
  • 性别: Icon_minigender_1
  • 来自: 苏州
社区版块
存档分类
最新评论

用java语言实现,一个组数:122345这6个数,打印出它所有可能的组合;要求4不能在第3位,3和5不能相连

阅读更多
/**
*
*/
package com.test;

/**
编程:用java语言实现,一个组数:122345这6个数,打印出它所有可能的组合;要求4不能在第3位,3和5不能相连
*
*/
public class AryMage {

    public static void main(String[] args) {
AryMage m=new AryMage();
m.com();
    }
    private int []b={1,2,2,3,4,5};
    private int result=0;
    private int tp=b.length;
    private int used[]={0,0,0,0,0,0};
    private void mark(int result){
if(result/(int)Math.pow(10,b.length-1)<1)return;
if(result/1000%10==4)return;
String str=result+"";
int n,m;
n=str.indexOf('3');
m=str.indexOf('5');
if(Math.abs(n-m)==1)return;
System.out.println(result+"");
    }
    public void com(){
seal(tp);
    }
    private void make(int i,int a,int b,int dp){
this.b[i]=10*a+b;
mark(this.b[i]);
seal(dp-1);
    }
    private void seal(int dp){
if(dp==0)return;
for(int i=0;i<b.length;i++)
    for(int j=0;j<b.length;j++){
if(i!=j&&used[i]+used[j]==0){
    used[j]=1;
    tp--;
    int p=b[i],q=b[j];
    make(i,p,q,dp);
    b[i]=p;b[j]=q;
    used[j]=0;
    tp++;
}

    }
    }
}
分享到:
评论

相关推荐

    java组合算法

    在Java编程语言中,组合算法是一种常用的数据处理方法,尤其是在需要从一组数据中选取特定数量元素的场景下。本篇文章将基于提供的代码片段来深入探讨组合算法的基本原理、实现方式以及其背后的递归思想。 #### ...

    PL_SQL生成双色球所有组合

    在上述代码中,我们通过多层嵌套循环实现了对所有可能组合的遍历,并将每组数据插入到之前创建的表`T_SSQ`中。需要注意的是,在实际操作时,由于组合数量非常大(17721088组),为了避免内存溢出或执行时间过长,...

    使用Java实现定位打印

    在Java编程语言中,"定位打印"是一种技术,允许开发者精确控制输出内容在终端或打印机上的位置。这种技术常用于创建报表、表格或其他需要精确布局的文本输出。本篇文章将深入探讨如何使用Java实现定位打印。 首先,...

    java实现zebra打印条形码

    本文将深入探讨如何使用Java语言实现Zebra斑马打印机的条形码打印功能。 条形码是一种图形化数据表示方式,它通过不同宽度的条和空组合来编码特定的信息,如产品代码、价格信息等。在零售、物流、仓储等领域,条形...

    使用Java实现语言解释器.doc

    总的来说,本章旨在通过构建一个简单的语言解释器,让读者深入理解解释器的工作原理,同时也展示Java语言的灵活性和效率,这对于任何希望学习编译器或解释器设计的开发者来说都是宝贵的实践。通过这种方式,不仅可以...

    Java调用Zebra条码打印机打印条码、中英文数字条码混合标签

    这可以通过在ZPL指令字符串中组合多个^FO、^BC、^FDb等命令来实现。例如,为产品标签添加产品名称和描述: ```zpl ^FO10,50^A0N,30,30^FD产品名称^FS ^FO10,80^A0N,20,20^FD产品描述^FS ``` `ZplPrinterUtil`类...

    2023年蓝桥杯省赛Java语言大学A组真题.doc

    2023年蓝桥杯省赛Java语言大学A组真题 题目1:结果填空,满分3分 熊怪吃核桃森林里有一只熊怪,很爱吃核桃。但是它有个习惯,每次都把找到的核桃提成相等的两份,吃掉一份,留一份。假如不能等分,熊怪就会扔掉一...

    java 求10个数的最大 最小 和平均值

    首先,我们需要创建一个整数数组,它能存储这10个数。在Java中,数组是一种特殊的对象,用于存储相同类型的数据集合。对于这个问题,我们可以声明一个整型数组,如下所示: ```java int[] numbers = new int[10]; `...

    用java打印杨辉三角

    在这个Java编程实践中,我们将学习如何用Java来打印杨辉三角。 首先,我们了解杨辉三角的基本概念。每个数字是它正上方两个数字的和,三角形的边缘总是1。例如,前几行的杨辉三角形如下所示: ``` 1 1 1 1 2 1 ...

    java打印各种图形

    在Java编程语言中,打印各种图形是一项基础但实用的任务,常用于教学和实践。这个主题主要涵盖如何使用控制台输出来创建不同的图形,如星号(*)组成的矩形、正方形、三角形等。下面我们将详细探讨Java中实现这些图形...

    设计模式之解释器模式Java版本实现

    解释器模式是一种行为设计模式,它允许我们定义一个语言的语法,并提供一个解释器来解析该语言中的句子。在Java中实现解释器模式,我们可以创建一个抽象表达式接口,然后为每种特定的语法结构创建一个具体表达式类。...

    java语言实现井字游戏

    Java语言实现井字游戏是一个经典的编程练习,它可以帮助初学者理解基本的控制台输入输出、二维数组以及游戏逻辑。这个游戏通常在3x3的棋盘上进行,玩家轮流在空位上放置“X”或“O”,先形成一行、一列或对角线三个...

    java编写的数字塔

    标签“数字塔”强调了这个程序与数学图形的关联,而“Java”标签表明我们使用的是Java编程语言。压缩包中的“2.2.2 ciclr”可能是指代码版本或某个特定的运行环境,但具体含义需要更多信息才能确定。 实现数字塔...

    Java打印条码,使用佳博条码打印机

    本文将基于“Java打印条码,使用佳博条码打印机”这一主题,深入探讨相关知识点,包括条码生成库的选择、Java代码实现、以及如何与佳博条码打印机进行交互。 首先,我们要了解条码生成的原理。条码是由不同宽度的...

    纯Java实现整个网页截图项目源代码

    在本项目中,"纯Java实现整个网页截图项目源代码" 是一个利用Java编程语言来实现的实用程序,它能够捕获整个网页的图像并将其保存为图片文件。这个项目的核心在于利用DJNativeSwing组件,这是一个开源的Java库,它...

    Java上机50题 含答案

    我们使用了一个简单的算法,即用一个数分别去除2到sqrt(这个数),如果能被整除,则表明此数不是素数,反之是素数。 知识点: * 素数的定义和性质 * 如何判断一个数是否为素数 * 算法的设计和实现 程序3:水仙花数...

    基于Java实现四则运算题目生成程序.zip

    在这个基于Java的课程设计中,我们探讨了如何利用Java语言实现这样的功能。Java作为一种广泛使用的面向对象编程语言,具有丰富的类库和强大的性能,适合构建这样的应用。 1. **基础概念** - **面向对象编程(OOP)...

    用java语言编写的日历源码下载

    最后,从压缩包文件中的"用java语言编写的日历"来看,这可能是一个包含示例代码的项目。解压后,你可以通过阅读源码了解具体实现,研究如何整合这些日期时间API来构建日历功能。学习和理解这段源码可以帮助加深对...

    Java实现杨辉三角的生成和打印代码示例.md

    标题中提到的“Java实现杨辉三角的生成和打印代码示例”指的是使用Java编程语言来创建一个可以生成和显示杨辉三角的程序。杨辉三角,又称帕斯卡三角,是一个在数学上非常著名的数列结构。它在计算机编程领域中常作为...

    Java编程.doc

    它使用了基本的素数检测方法,即用2到给定数平方根之间的所有数去试除。如果能被整除,说明不是素数,否则是素数。程序通过`for`循环遍历指定范围,内部再用一个嵌套的`for`循环进行试除,最后输出素数的个数和所有...

Global site tag (gtag.js) - Google Analytics