问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

Java 怎么使用递归或者循环输出数字 1 到 5 的所有可能性组合?

发布网友 发布时间:2022-05-12 20:52

我来回答

2个回答

热心网友 时间:2023-10-22 10:15

    private static final int DEFAULT_MAX=5;
    private static final int DEFAULT_SORT_SIZE=5;
    
    public static void main(String[] args) {
        int numbers[]={1,2,3,4,5};  
        
        for(int i=1;i<=DEFAULT_SORT_SIZE;i++){
             com(numbers, i);
        }
    }

    static void com(int numbers[],int m){
        int n=numbers.length;
        if(m>n) return;
        
        int temp[]=new int[10],i,k=0;
        
        for(i=0;i<m;i++) temp[i]=-1; 

        temp[k]=0;
        // 核心算法
        while(true){
            if(temp[k]>=n)
            {
                if(k==0) break;
                --k;
                temp[k]+=1;
            }
            else if(k==m-1)
            {
                for(int j=0;j<m;j++) System.out.print(numbers[temp[j]]+" ");
                System.out.println();
                temp[k]+=1;
            }
            else{
                ++k;
                temp[k]=temp[k-1]+1;
            }
            
        }
    }

热心网友 时间:2023-10-22 10:16


#include <stdio.h>  
#include <stdlib.h>  
#include <memory.h>  
#define MAX 6  
/* 
将数字1,2,3,4,5的组合全部输出,每个数字仅能出现一次  
*/  
void DFS(int *output, int val, int pos, bool *isSelected)  
{  
     if(isSelected[val]) // if this number is exist, return   
          return ;  
     output[pos] = val;  
     isSelected[val] = true; // save the scene  
     if(pos == MAX-2)  
     {  
            for(int i=0; i<MAX-1; i++)  
                    printf("%d ", output[i]);  
            printf("/n");   
            isSelected[val] = false; // recover the scene, one way to end this DFS function  
            return ;  
     }  
     for(int i=1; i <MAX; i++)  
     {  
            DFS(output, i, pos+1, isSelected);             
     }  
     isSelected[val] = false; // recover the scene, another way to end this DFS function  
}  
int main()  
{    
    bool isSelected[MAX];  
    int output[MAX];  
    for(int i=1; i<MAX; i++)  
    {  
            memset(isSelected, false, sizeof(isSelected));  
            DFS(output, i, 0, isSelected);     
    }  
    system("pause");  
    return 0;  
}

使用java编程输出abcdefg的所有组合,即像abcdefg,abcdegf,abcdfeg等...

static int num = 0;//这个数是用来测试程序是否正确的.因为是求排列所以abcdefg的排列情况应该有7的阶乘那么多种就是5040种.public static void main(String[] args) { permute("abcdefg".toCharArray());System.out.println(num);} public static void permute(char[] cs) { permute(cs, 0, ...

...abcde必须出现,12345可以重复出现 java程序怎么写

用递归来做吧。public class CombinationUtil { public static void main(String[] args) { outResults("", 0, 5, 0);System.out.println("组合结果数:" + cnt);} public static final char[] letter = {'a', 'b', 'c', 'd', 'e'};public static final char[] number = {'1'...

java实现数组的所有组合

细节上需要改进。import java.util.*;public class Map { Vector&lt;int[]&gt; v = new Vector&lt;int[]&gt;();Vector&lt;Integer&gt; vv = new Vector&lt;Integer&gt;(); Map() { int[] array = { 1, 2, 3, 4, 5 };Scanner s = new Scanner(System.in);int x = s.nextInt();pro(array, 0, x);...

Java中,怎么打印出一个字符串的所有排列?

在Java中,生成一个字符串的所有可能排列可以通过递归算法轻松实现。核心步骤是将字符串分为两部分:首字符和剩余字符,然后对首字符与剩余部分中的每个字符进行依次交换,并对剩余部分进行递归操作。这样,每次递归都会生成一个新的排列组合。下面是通过Java代码展示的实现过程:首先,创建一个名为printPermut...

用java循环解答 1,2,3,5,8,13,21,34,55··· 请该收帮忙

输入对应的位置,得到对应的斐波那契的值 如:传入参数5 返回8 用递归实现:public int test(int i){ if(i&lt;0) return 0;if(i&lt;2) return 1;return test1(i-1)+test1(i-2);} 用迭代实现:public int test2(int i){ int first=1;int second=1;if(i==0||i==1)return 1;for...

用1、2、2、3、4、5这六个数字,用java写一个main函数,打印出所有不同的...

package org.quzz.baidu;import java.util.ArrayList;import java.util.Arrays;import java.util.List;public class AppandDigitToString { / 给一个字符串的后面扩展多个1位数字,形成多个字符串的列表。要求:“4”不能在第三位,“3”与“5”不能相连。param string 被扩展的字符串。param digit...

Java实现几个字母的所有组合

1.先给你程序 public class Test{ public static void main(String[] args) { char buf[]={'a','b','c','d'};perm(buf,0,buf.length-1);} public static void perm(char[] buf,int start,int end){ if(start==end){//当只要求对数组中一个字母进行全排列时,只要就按该数组输出...

java 定义了5个数字的数组,显示输出所有的排列组合

java.util.ArrayList;import java.util.List;public class PermAComb { static List&lt;int[]&gt; allSorts = new ArrayList&lt;int[]&gt;(); public static void permutation(int[] nums, int start, int end) { if (start == end) { // 当只要求对数组中一个数字进行全排列时,只要就按...

有一串数字1,1,2,3,5,8,13,21,34,55,在java中根据规律如何打印出来这...

public static void main(String[] args) { System.out.print(1+",");System.out.print(1+",");int f1 = 1, f2 = 1, f, M=10;for(int i=3; i&lt;=M; i++) { f = f2;f2 = f1 + f2;f1 = f;System.out.print(f2+",");} } } 你要的是一道菲波拉契数列问题,你可以...

编写一个Java程序 用1、2、3、4这四个数组成一个四位数,要求每位不能...

方法1:public class PaiLie {// 对一组数字进行全排列 public static void main(String[] args) { int a[] = new int[5];for (int i = 1; i &lt; a.length; i++)a[i] = i;pailie(a, 1);} public static void pailie(int[] a, int n) {// n 待交换数的索引 if (n &lt;...

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
多特后防四大天王是哪些 iPhoe4还原所有设置后变成语音朗读而且滑屏无法正常使用 金鱼在鱼缸里几天能不会死掉? 金鱼放鱼缸多久合适 金鱼放鱼缸的时间 想学会缅甸语请问大神昆明附近有没有好一点的班? 昆明哪里可以学缅甸语?哪里不贵,哪里有优势? 昆明哪里可以学缅甸语啊?想去学几个月。 要出去缅甸出差一段时间,请问下昆明什么地方有好的缅甸语培训?? 叔叔要去缅甸做生意,帮他找间学校学缅甸语,简单的就行了,只有两个月... 昆明学缅甸语哪里学呀??? 想学几个月,再去一次缅甸。 java递归方法里有for循环,for循环里又调用这个递归方法是否可以? java语言中:循环一定可以改成递归吗? JAVA 能否用递归处理循环嵌套? 这个递归如何用循环语句实现(java) java的循环能不能直接转换成递归 谁能把中国历史上最杰出的10位军事家和世界历史上最杰出的10位军事家的列出来么,个人观点也成,写得好加分 小村庄的“万人冢”是何时留下的,与玉璧之战有什么关系? 赤壁之战和玉壁之战有什么区别? 北齐神武帝高欢一生经历过很多战争,那么著名的战役都有哪些? 在南北朝时期,被称为谍战之王,能以弱胜强的名将是谁? 古代有哪些以少胜多的军事行为? 怎么解决油性头发?我基本上天天都要洗头 好麻烦 为什么现在打字显示不了拼音,写字也显示不了拼音,我已经设置了手写拼音显示了,还是不行。更新后就这样 如何让头发变多,变被,变直 头发上有头皮怎么弄.头发油.怎么弄? 大家快来帮帮忙,一些关于头发的问题 怎么才能拥有一头乌黑的长发? 鲑鱼头 发型是啥样的? 一只想飞的猫的语言特色是什么意思 一只想飞的猫里里的鸭子是怎样的性格? java 圆周率 递归 for循环 java 如何递归遍历一个文件夹下的所有文件 爱尔兰和塞尔维亚踢球那场胜算大 塞尔维亚人和爱尔兰人有什么关系? 葡萄牙vs塞尔维亚中C罗读秒射门遭遇门线冤案,你觉得这个球有效吗? 葡萄牙1-2惜败塞尔维亚,丢失小组头名出线,你有什么看法? 塞尔维亚与欧盟的关系 如果中日仇恨度是10,那希腊与土耳其、塞尔维亚与克罗地亚之间仇恨度是多少? 影响了全世界的欧州文明,在他美丽富饶的土地上都有那些国家? 欧洲哪些国家至今不是欧盟成员? 迪丽热巴为什么不当《极限挑战》的常驻嘉宾了? 热巴为什么退出极限挑战 迪丽热巴在《极限挑战》中做了什么让大家对她感到印象深刻? 极限挑战哪一期是热巴和孙红雷都在。 《极限挑战》黄磊说张艺兴热巴“像小两口”,为何被骂惨? 热巴为什么在跑男大快朵颐,到了极限挑战却绝不动筷? 《极限挑战》里热巴作为新加入成员本来就地位尴尬,你认为她在里面情商高吗? 极限挑战六迪丽热巴为什么没了? 热巴和张艺兴在《极限挑战》第六季是飞行嘉宾? 迪丽热巴为什么会被选中参加极限挑战的最新一季呢?