JAVA 蓝桥杯 算法提高 阮小二买彩票

资源限制
时间限制:1.0s 内存限制:512.0MB

问题描述
  在同学们的帮助下,阮小二是变的越来越懒了,连算账都不愿意自己亲自动手了,每天的工作就是坐在电脑前看自己的银行账户的钱是否有变多。可是一段时间观察下来,阮小二发现自己账户的钱增长好慢啊,碰到节假日的时候连个铜板都没进,更郁闷的是这些天分文不进就算了,可恨的是银行这几天还有可能“落井下石”(代扣个人所得税),看着自己账户的钱被负增长了,阮小二就有被割肉的感觉(太痛苦了!),这时阮小二最大的愿望无疑是以最快的速度日进斗金,可什么方法能够日进斗金呢?抢银行(老本行)?不行,太危险,怕有命抢没命花;维持现状?受不了,搂钱太慢了!想来想去,抓破脑袋之后,终于想到了能快速发家致富的法宝----买彩票,不但挣了钱有命花,运气好的话,可以每天中他个几百万的,岂不爽哉!抱着这种想法,阮小二开始了他的买彩票之旅。想法是“好的”(太天真了OR 太蠢了),可是又发现自己的数学功底太差,因为不知道数字都有哪些组合排列?那现在就请同学们写个递归程序,帮助阮小二解决一下这个问题吧!

输入格式
  不超过6位数的正整数N,注意:构成正整数N的数字可重复

输出格式
  组成正整数N的所有位数的全排列,这些排列按升序输出,每个排列占一行。

注意:输出数据中不能有重复的排列

样例输入
123

样例输出
123
132
213
231
312
321

样例输入
3121

样例输出
1123
1132
1213
1231
1312
1321
2113
2131
2311
3112
3121
3211

样例输入
4003

样例输出
0034
0043
0304
0340
0403
0430
3004
3040
3400
4003
4030
4300

提交代码

import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collections;
import java.util.HashSet;
import java.util.Iterator;
import java.util.Scanner;public class Main {static int[] bo;static int sum=0;static HashSet<String> set=new HashSet<String>();public static void main(String[] args) {Scanner sca=new Scanner(System.in);String s=sca.next();char[] ch=s.toCharArray();Arrays.sort(ch);bo=new int[ch.length];dfs(ch,0);Iterator<String> iter=set.iterator();ArrayList<String> array=new ArrayList<String>();while(iter.hasNext()) {array.add(iter.next());}Collections.sort(array);for(String ss:array) {System.out.println(ss);}}public static void dfs(char[] ch,int k) {if(k==ch.length) {String temp=String.valueOf(sum);while(temp.length()!=ch.length) {temp="0"+temp;}set.add(temp);return;}for(int i=0;i<ch.length;i++) {if(bo[i]==0) {bo[i]=1;sum+=(int)(ch[i]-'0')*Math.pow(10, ch.length-1-k);dfs(ch,k+1);sum-=(int)(ch[i]-'0')*Math.pow(10, ch.length-1-k);bo[i]=0;}}}}

JAVA 蓝桥杯 算法提高 阮小二买彩票相关推荐

  1. 蓝桥杯 算法提高 阮小二买彩票 Python

    算法提高 阮小二买彩票 时间限制:1.0s 内存限制:512.0MB 问题描述 在同学们的帮助下,阮小二是变的越来越懒了, 连算账都不愿意自己亲自动手了,每天的工作就是坐在电脑前看自己的银行账户的钱是 ...

  2. 蓝桥杯 算法提高 阮小二买彩票 AC代码Python

    算法提高 阮小二买彩票 时间限制:1.0s 内存限制:512.0MB 问题描述 在同学们的帮助下,阮小二是变的越来越懒了, 连算账都不愿意自己亲自动手了,每天的工作就是坐在电脑前看自己的银行账户的钱是 ...

  3. 蓝桥杯算法提高-阮小二买彩票问题(Java语言)

    描述        在同学们的帮助下,阮小二是变的越来越懒了,连算账都不愿意自己亲自动手了,每天的工作就是坐在电脑前看自己的银行账户的钱是否有变多.可是一段时间观察下来,阮小二发现自己账户的钱增长好慢 ...

  4. 【ShawnZhang】带你看蓝桥杯—— 算法提高 阮小二买彩票

    问题描述 在同学们的帮助下,阮小二是变的越来越懒了,连算账都不愿意自己亲自动手了,每天的工作就是坐在电脑前看自己的银行账户的钱是否有变多. 可是一段时间观察下来,阮小二发现自己账户的钱增长好慢啊,碰到 ...

  5. Java实现 蓝桥杯VIP 算法提高 阮小二买彩票

    算法提高 阮小二买彩票 时间限制:1.0s 内存限制:512.0MB 问题描述 在同学们的帮助下,阮小二是变的越来越懒了,连算账都不愿意自己亲自动手了,每天的工作就是坐在电脑前看自己的银行账户的钱是否 ...

  6. 蓝桥杯 ADV-66 算法提高 阮小二买彩票

    算法提高 阮小二买彩票 时间限制:1.0s 内存限制:512.0MB 问题描述 在同学们的帮助下,阮小二是变的越来越懒了,连算账都不愿意自己亲自动手了,每天的工作就是坐在电脑前看自己的银行账户的钱是否 ...

  7. JAVA 蓝桥杯 算法提高 色盲的民主

    JAVA 蓝桥杯 算法提高 色盲的民主 资源限制 时间限制:1.0s 内存限制:256.0MB  色盲的民主 问题描述 n个色盲聚在一起,讨论一块布的颜色.尽管都是色盲,却盲得各不相同.每个人都有自 ...

  8. 蓝桥杯 ADV-66算法提高 阮小二买彩票

    问题描述 在同学们的帮助下,阮小二是变的越来越懒了,连算账都不愿意自己亲自动手了,每天的工作就是坐在电脑前看自己的银行账户的钱是否有变多.可是一段时间观察下来,阮小二发现自己账户的钱增长好慢啊,碰到节 ...

  9. 蓝桥杯练习 算法提高 阮小二买彩票 无代码

    问题描述 在同学们的帮助下,阮小二是变的越来越懒了,连算账都不愿意自己亲自动手了,每天的工作就是坐在电脑前看自己的银行账户的钱是否有变多.可是一段时间观察下来,阮小二发现自己账户的钱增长好慢啊,碰到节 ...

最新文章

  1. 演讲实录 | DevOps 2021年度洞察
  2. 最长上升子序列——动态规划
  3. python 生成pdf_如何使用Python生成PDF?
  4. 洛谷 1429 平面最近点对(加强版) 快排 非点分治或kdtree
  5. 自己动手写操作系统2011040101
  6. UNITY单击和双击实现
  7. 大数据预测实战-随机森林预测实战(二)-随机森林回归模型
  8. Chromium扩展(Extension)机制简要介绍和学习计划
  9. 经纬创投中国项目分类清单
  10. Flutter 使用阿里巴巴icon库
  11. stunserver 的几个公网地址及其问题
  12. 电脑无法升级windows11的解决办法
  13. 天池-淘宝用户行为数据分析(python+Tableau)
  14. 2019年“网红”芯片大盘点,哪一颗让你印象最深刻?
  15. 有没有开源的虚拟路由器?有,VPP了解一下
  16. CCNP642-825实验题题库
  17. 无线传感器网络知识点
  18. 用 Python 通过雅虎财经获取股票数据
  19. Eclipse安装SVN插件的几种方法
  20. 苹果如何修改无线DNS服务器,苹果路由器dns怎么设置

热门文章

  1. package.json文件是个什么东东?
  2. STM32网址大全(快速定位网址查找资料)
  3. flex布局实现叠在另一个div之上_flex布局
  4. 最详细最简单:最大公因数求法、辗转相除法、更相减损法,入门ACM,杭电水题,算法递归,初级算法题一看就懂
  5. 如何使用Nginx来实现企业微信域名校验
  6. 苹果致力于手势再生研发,无须使用控制器即可与 ARKit 交互?
  7. Markdown做笔记或写博客
  8. win7 修复计算机无法进入系统,win7系统下启动修复无法正常进入系统的解决方法...
  9. 一个SAPer的网络日志-连载四-三不主义下的项目经理
  10. 研发团队角色与职责分析