123456不重复输出java非递归

标题:123456不重复输出java非递归

使用环形的算法,每次输出形成环状规律:
代码:


```java
public class prinfNum {
    public static void main(String[] args) {
        //计数数组
        int a[] = new int[6];
        //输出序列
        int p[] = {1, 2, 3, 4, 5, 6};
        int len=p.length-1;
        //拿出序列
        int [] k=new int[6];
        int val=0;
        while(val!=-1)
        {
            toString(p);
            val=fun(a);
            //拿出操作
            for(int i=0;i<val;i++)
            {
                k[i]=p[len-i];
            }
            //放入操作
            for (int i=0;i<val;i++)
            {
                p[len-i]=k[val-i-1];
            }
        }



    }

    //进制数判断函数,返回需要推出的位数
    public static int fun(int a[]) {

        int num = a.length;
        //进行加一操作
        a[0]++;
        for (int i = 0; i < num; i++) {
            //判断如果i位的数字大于i的话说明前一位需要进一步
            //从第一位判断是只要有1就进一,但是这种方式浪费内存
//            if(a[i]>i){
//                a[i+1]++;
//                a[i]=0;
            //我们直接从第二位开始计算
            if (a[i]>i+1){
                //前位进一,如果前位是a[num]则说明循环输出完毕
               if ((i+1)<num-1)
               {
                   a[i+1]++;
                   //把这一位归零
                   a[i]=0;
               }
               else return -1;//返回-1表示结束输出


            }
            else return i+2;
//            }
        }

        return 345;//随便写的,345会直接出现异常,说明程序没按照计划执行
    }
    //输出数字tostring
    public static void toString(int p[])
    {
        for (int i=0;i<p.length;i++)
            System.out.print(p[i]);
        System.out.println();
    }

}
运行结果:
123456
123465
123564
123546
123645
123654
124563
124536
124635
124653
124356
124365
125634
125643
125346
125364
125463
125436
126345
126354
126453
126435
126534
126543
134562
134526
134625
134652
134256
134265
135624
135642
135246
135264
135462
135426
136245
136254
136452
136425
136524
136542
132456
132465
132564
132546
132645
132654
145623
145632
145236
145263
145362
145326
146235
146253
146352
146325
146523
146532
142356
142365
142563
142536
142635
142653
143562
143526
143625
143652
143256
143265
156234
156243
156342
156324
156423
156432
152346
152364
152463
152436
152634
152643
153462
153426
153624
153642
153246
153264
154623
154632
154236
154263
154362
154326
162345
162354
162453
162435
162534
162543
163452
163425
163524
163542
163245
163254
164523
164532
164235
164253
164352
164325
165234
165243
165342
165324
165423
165432
234561
234516
234615
234651
234156
234165
235614
235641
235146
235164
235461
235416
236145
236154
236451
236415
236514
236541
231456
231465
231564
231546
231645
231654
245613
245631
245136
245163
245361
245316
246135
246153
246351
246315
246513
246531
241356
241365
241563
241536
241635
241653
243561
243516
243615
243651
243156
243165
256134
256143
256341
256314
256413
256431
251346
251364
251463
251436
251634
251643
253461
253416
253614
253641
253146
253164
254613
254631
254136
254163
254361
254316
261345
261354
261453
261435
261534
261543
263451
263415
263514
263541
263145
263154
264513
264531
264135
264153
264351
264315
265134
265143
265341
265314
265413
265431
213456
213465
213564
213546
213645
213654
214563
214536
214635
214653
214356
214365
215634
215643
215346
215364
215463
215436
216345
216354
216453
216435
216534
216543
345612
345621
345126
345162
345261
345216
346125
346152
346251
346215
346512
346521
341256
341265
341562
341526
341625
341652
342561
342516
342615
342651
342156
342165
356124
356142
356241
356214
356412
356421
351246
351264
351462
351426
351624
351642
352461
352416
352614
352641
352146
352164
354612
354621
354126
354162
354261
354216
361245
361254
361452
361425
361524
361542
362451
362415
362514
362541
362145
362154
364512
364521
364125
364152
364251
364215
365124
365142
365241
365214
365412
365421
312456
312465
312564
312546
312645
312654
314562
314526
314625
314652
314256
314265
315624
315642
315246
315264
315462
315426
316245
316254
316452
316425
316524
316542
324561
324516
324615
324651
324156
324165
325614
325641
325146
325164
325461
325416
326145
326154
326451
326415
326514
326541
321456
321465
321564
321546
321645
321654
456123
456132
456231
456213
456312
456321
451236
451263
451362
451326
451623
451632
452361
452316
452613
452631
452136
452163
453612
453621
453126
453162
453261
453216
461235
461253
461352
461325
461523
461532
462351
462315
462513
462531
462135
462153
463512
463521
463125
463152
463251
463215
465123
465132
465231
465213
465312
465321
412356
412365
412563
412536
412635
412653
413562
413526
413625
413652
413256
413265
415623
415632
415236
415263
415362
415326
416235
416253
416352
416325
416523
416532
423561
423516
423615
423651
423156
423165
425613
425631
425136
425163
425361
425316
426135
426153
426351
426315
426513
426531
421356
421365
421563
421536
421635
421653
435612
435621
435126
435162
435261
435216
436125
436152
436251
436215
436512
436521
431256
431265
431562
431526
431625
431652
432561
432516
432615
432651
432156
432165
561234
561243
561342
561324
561423
561432
562341
562314
562413
562431
562134
562143
563412
563421
563124
563142
563241
563214
564123
564132
564231
564213
564312
564321
512346
512364
512463
512436
512634
512643
513462
513426
513624
513642
513246
513264
514623
514632
514236
514263
514362
514326
516234
516243
516342
516324
516423
516432
523461
523416
523614
523641
523146
523164
524613
524631
524136
524163
524361
524316
526134
526143
526341
526314
526413
526431
521346
521364
521463
521436
521634
521643
534612
534621
534126
534162
534261
534216
536124
536142
536241
536214
536412
536421
531246
531264
531462
531426
531624
531642
532461
532416
532614
532641
532146
532164
546123
546132
546231
546213
546312
546321
541236
541263
541362
541326
541623
541632
542361
542316
542613
542631
542136
542163
543612
543621
543126
543162
543261
543216
612345
612354
612453
612435
612534
612543
613452
613425
613524
613542
613245
613254
614523
614532
614235
614253
614352
614325
615234
615243
615342
615324
615423
615432
623451
623415
623514
623541
623145
623154
624513
624531
624135
624153
624351
624315
625134
625143
625341
625314
625413
625431
621345
621354
621453
621435
621534
621543
634512
634521
634125
634152
634251
634215
635124
635142
635241
635214
635412
635421
631245
631254
631452
631425
631524
631542
632451
632415
632514
632541
632145
632154
645123
645132
645231
645213
645312
645321
641235
641253
641352
641325
641523
641532
642351
642315
642513
642531
642135
642153
643512
643521
643125
643152
643251
643215
651234
651243
651342
651324
651423
651432
652341
652314
652413
652431
652134
652143
653412
653421
653124
653142
653241
653214
654123
654132
654231
654213
654312
654321
这是本人自己想的方法,如果有错误希望指正。
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值