面试题12:打印1到最大的n位数
来源:互联网 发布:js根据class 隐藏 编辑:程序博客网 时间:2024/04/28 20:15
public class Demo12 {public boolean Increment(int[] number){ // 这个方法是用来实现对数加1操作 boolean isOverflow = false; int nTakeOver=0; for(int i=number.length-1;i>=0;i--){ int nSum = number[i]+nTakeOver; if(i==number.length-1) nSum++; if(nSum>=10){ if(i==0) isOverflow=true; else{ nTakeOver=1; nSum=nSum-10; number[i]=nSum; } } else{ number[i]=nSum; break; } } return isOverflow; } //去掉尾部元素前面的0元素 public void PrintNumber(int[] number){ boolean isBeginning=true; for(int i=0;i<number.length;i++){ if(isBeginning&&number[i]!=0) isBeginning=false; if(!isBeginning){ System.out.print(number[i]); } } } /* * 对每位进行自加操作,当sum>=10,重置sum为0,nTakeOver=1, * 进而number[i]产生进位nSum = number[i]+nTakeOver;number[i]=nSum; */ public void Test(int n){ if(n<=0) System.out.println("输入出错,请重新输入!"); int[] number = new int[n]; while(!Increment(number)){ PrintNumber(number);//第一次为全0的基础加1,有输出 System.out.println(); } } public void PrintMaxOfNdigits(int[] number,int length,int index){ if(index == length-1) { PrintNumber(number);//当全0时,无输出,第一次总是执行换行操作 System.out.println(); return; } for(int i=0;i<10;i++){ number[index+1]=i; PrintMaxOfNdigits(number, length, index+1); } } //通过递归,排列n位数各种组合 public void Test1(int n){ if(n<=0) return; int[] number = new int[n]; for(int i=0;i<10;i++){ number[0]=i; PrintMaxOfNdigits(number, n, 0); } }public static void main(String[] args) throws Exception {Demo12 demo=new Demo12();demo.Test(3);//demo.Test1(3);}}
0 0
- 面试题12:打印1到最大的n位数
- 面试题12:打印1到最大的n位数
- 面试题12:打印1到最大的n位数
- 面试题12 打印1到最大的n位数
- 面试题12:打印1到最大的n位数
- 面试题12-打印1到最大的n位数
- 面试题12:打印1到最大的n位数
- 面试题12:打印1到最大的n位数
- 面试题12:打印1到最大的n位数
- 面试题12打印1到最大的n位数
- 面试题12:打印1到最大的n位数
- 面试题12:打印1到最大的n位数
- 面试题12:打印1到最大的n位数
- 面试题12:打印1到最大的n位数
- 面试题12:打印1到最大的n位数
- 面试题12:打印1到最大的n位数
- 【面试题12】打印1到最大的n位数
- 面试题12打印1到最大的n位数
- 再说CSS3渐变——线性渐变
- 液晶屏LVDS,TTL,RSDS接口样式的区别方法
- 软件测试_BadBoy自动化测试工具10_导出脚本用于JMeter性能测试
- Android一些经验技巧(持续更新)
- 使用Delphi命名空间
- 面试题12:打印1到最大的n位数
- Erlang 学习(二) 文件夹拷贝
- linuxi常用命令
- MySQL数据类型及范围用法一览表
- 【codeforces 165E】 - Compatible Numbers 【位运算】
- VMware虚拟机与主机设置在同一网段
- C语言的静态函数
- 如何处理异步事件的回调,比如http请求。
- hdoj 4521 小明系列问题——小明序列 【线段树优化dp or LIS变形】