VerySource

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
楼主: 张阿大

请各位高手帮忙写个算法!!

[复制链接]

1

主题

12

帖子

11.00

积分

新手上路

Rank: 1

积分
11.00
 楼主| 发表于 2020-6-15 13:15:01 | 显示全部楼层
我不是要规范呀,只是要可以编辑通过,还有测试一下咯,我用你的方法打出来了, 不对哦
回复

使用道具 举报

1

主题

21

帖子

19.00

积分

新手上路

Rank: 1

积分
19.00
发表于 2020-6-15 13:45:01 | 显示全部楼层
class  T
{
        static String str34[] = { "0", "1", "2", "3", "4", "5", "6", "7", "8", "9",
                "A", "B", "C", "D", "E", "F", "G", "H", "J", "K", "L", "M",
                "N", "P", "Q", "R", "S", "T", "U", "V", "W", "X", "Y", "Z" };
        public static void main(String[] args)
        {
                System.out.println("Hello World!");
                function(4,34,"");
        }
        public static void function(int p,int d,String arg){
             if(p==0){System.out.println(arg); return;}
                 for(int i=0;i<d;i++){
                         arg+=str34[i];
                     function(p-1,d,arg);
                         arg=arg.substring(0,arg.length()-1);}
        }
}
回复

使用道具 举报

0

主题

10

帖子

7.00

积分

新手上路

Rank: 1

积分
7.00
发表于 2020-6-15 17:00:01 | 显示全部楼层
package javaTest;

public class Test1 {

        /**
         * @param args
         */
        public static void main(String[] args) {
                // TODO 自动生成方法存根
                String[] strAr= {"1","2","3","4","5","6","7","8","9","A","B","C","D","E","F","G","H","J","K","L","M","N","P","Q","R","S","T","U","V","W","X","Y","Z"};
                String num = "0000";
                int s=0;
                int genum=0,shinum=0,bainum=0,qiannum=0;
                int length=strAr.length;
                while(true){
                        s++;
                        genum++;
                        if(genum<length){
                                num=num.substring(0,2)+strAr[genum-1];
                        }else{
                                genum=0;
                                shinum++;
                                if(shinum<length){
                                        num=num.substring(0,1)+strAr[shinum-1]+"0";
                                }else{
                                        shinum=0;
                                        bainum++;
                                        if(shinum<length){
                                                num=num.substring(0,0)+strAr[bainum-1]+"00";
                                        }else{
                                                bainum=0;
                                                qiannum++;
                                                if(qiannum<length){
                                                        num=strAr[qiannum-1]+"000";
                                                }else{
                                                        break;
                                                }
                                        }
                                }
                        }
                        System.out.println(s+":"+num);
                }
        }
       
}
回复

使用道具 举报

0

主题

10

帖子

7.00

积分

新手上路

Rank: 1

积分
7.00
发表于 2020-6-15 21:30:01 | 显示全部楼层
还有点问题,不好意思啊,我也是个新手,我再看看
回复

使用道具 举报

1

主题

12

帖子

11.00

积分

新手上路

Rank: 1

积分
11.00
 楼主| 发表于 2020-6-15 22:45:02 | 显示全部楼层
哇,楼上的大哥好历害,这么高的级别,麻烦大哥讲解一下上面的代码嘛,非常感谢!!
回复

使用道具 举报

0

主题

10

帖子

7.00

积分

新手上路

Rank: 1

积分
7.00
发表于 2020-6-16 09:15:01 | 显示全部楼层
public class Test1 {

        /**
         * @param args
         */
        public static void main(String[] args) {
                // TODO 自动生成方法存根
                String[] strAr= {"1","2","3","4","5","6","7","8","9","A","B","C","D","E","F","G","H","J","K","L","M","N","P","Q","R","S","T","U","V","W","X","Y","Z"};
                String num = "0000";
                int s=0;
                int genum=0,shinum=0,bainum=0,qiannum=0;
                int length=strAr.length;
                while(true){
                        System.out.println(s+":"+num);
                        s++;
                        genum++;
                        if(genum<=length){
                                num=num.substring(0,3)+strAr[genum-1];
                        }else{
                                genum=0;
                                shinum++;
                                if(shinum<=length){
                                        num=num.substring(0,2)+strAr[shinum-1]+"0";
                                }else{
                                        shinum=0;
                                        bainum++;
                                        if(shinum<=length){
                                                num=num.substring(0,1)+strAr[bainum-1]+"00";
                                        }else{
                                                bainum=0;
                                                qiannum++;
                                                if(qiannum<=length){
                                                        num=strAr[qiannum-1]+"000";
                                                }else{
                                                        break;
                                                }
                                        }
                                }
                        }
                }
        }
       

}
回复

使用道具 举报

0

主题

10

帖子

7.00

积分

新手上路

Rank: 1

积分
7.00
发表于 2020-6-16 10:15:01 | 显示全部楼层
上面是好的,你看看
回复

使用道具 举报

1

主题

12

帖子

11.00

积分

新手上路

Rank: 1

积分
11.00
 楼主| 发表于 2020-6-17 21:45:01 | 显示全部楼层
兄弟,抛出了异常 数组下标越界
回复

使用道具 举报

0

主题

10

帖子

7.00

积分

新手上路

Rank: 1

积分
7.00
发表于 2020-6-18 02:30:01 | 显示全部楼层
这是好的,我调试了,一直都运行完了
public class Test1 {

        /**
         * @param args
         */
        public static void main(String[] args) {
                // TODO 自动生成方法存根
                String[] strAr= {"1","2","3","4","5","6","7","8","9","A","B","C","D","E","F","G","H","J","K","L","M","N","P","Q","R","S","T","U","V","W","X","Y","Z"};
                String num = "0000";
                long s=0;
                int genum=0,shinum=0,bainum=0,qiannum=0;
                int length=strAr.length;
                while(true){
                        System.out.println(s+":"+num);
                        s++;
                        genum++;
                        if(genum<=length){
                                num=num.substring(0,3)+strAr[genum-1];
                        }else{
                                genum=0;
                                shinum++;
                                if(shinum<=length){
                                        num=num.substring(0,2)+strAr[shinum-1]+"0";
                                }else{
                                        shinum=0;
                                        bainum++;
                                        if(bainum<=length){
                                                num=num.substring(0,1)+strAr[bainum-1]+"00";
                                        }else{
                                                bainum=0;
                                                qiannum++;
                                                if(qiannum<=length){
                                                        num=strAr[qiannum-1]+"000";
                                                }else{
                                                        break;
                                                }
                                        }
                                }
                        }
                }
        }
       

}
回复

使用道具 举报

0

主题

10

帖子

7.00

积分

新手上路

Rank: 1

积分
7.00
发表于 2020-6-19 15:00:02 | 显示全部楼层
还没好吗?
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|CopyRight © 2008-2023|verysource.com ( 京ICP备17048824号-1 )

快速回复 返回顶部 返回列表