打印1到最大的N位整数
来源:互联网 发布:大数据精准营销的案例 编辑:程序博客网 时间:2024/05/01 02:21
输入一个3,则需要打印出0~999;输入一个4,则需要打印出0~9999
,这里输入数的大小没有限制,因此我们要考虑到大数的问题。所以我们使用字符串数组来保存所要打印的数,因此程序关键是让字符串数组循环自增。
打印的核心代码:
public void printToMax(){ //将字符串数组中的值初始化为零 for(int i = 0 ; i < s.length ; i++) { s[i] = "0"; } for(int i = s.length - 1 ; i >= 0 ; i++){ //如果小于等于9,就应该打印出该数 while(Integer.parseInt(s[i]) <= 9){ if(i == s.length - 1) print(s); //自增 s[i] = Integer.parseInt(s[i]) + 1 + ""; //判断s[i]是否是进位 if(Integer.parseInt(s[i]) <= 9 && i != s.length - 1) //进位完又从个位打印 i = s.length - 1; } //已经是最高位,进不了位,结束退出循环 if(i == 0) break; //要进位将前位设置为零 s[i] = "0"; }}
public void print(String[] s){ boolean flag = false; for(int i = 0 ; i < s.length - 1 ; i++){ if(i == s.length - 1){ //打印出零 System.out.print(s[i]); } //从高位到低位找到第一个大于零的数 if(Integer.parseInt(s[i]) > 0 || flag){ if(!flag) flag = true; System.out.print(s[i]); } } System.out.println();}
Main.javapublic class Main{ public static void main(String[] args){ PrintToMax ptm = new PrintToMax(3); ptm.printToMax(); }}
0 0
- 打印1到最大的N位整数
- 剑指offer 面试题(打印1到n最大的n位整数)(6)
- Lintcode 用递归打印从1到N位的最大整数
- 剑指offer 面试题12 打印 1 到最大的 n 位整数
- 打印1到n位最大数
- 剑指offer--打印1到最大的N位数字
- 每日一题21:从0打印到具有n位整数的最大数
- 递归思想实现大数问题(打印1到n位最大整数)
- 递归思想实现大数问题(打印1到n位最大整数)(JAVA代码)
- 输入数字n,顺序打印出1到n位的十进制最大数
- 输入数字n,按顺序打印出从1到最大的n位十进制数
- 输入数字n,按顺序打印出从1到最大的n位十进制数
- 打印从1到n的整数
- 递归函数求打印1到n位最大数
- 剑指offer 面试题12 打印1到n位整数的最大值
- 打印1到最大的n位数
- 打印1到最大的n位数
- 打印1到最大的n位数
- java.util.logging无配置文件全局日志管理案例
- 俄媒:俄军代表团访华 学习解放军管理经验
- 编译安装nutch2.3和hbase0.98.8集成
- 续上
- 用户权限spring security
- 打印1到最大的N位整数
- Android媒体播放:MediaPlayer
- SpringMVC中ajax返回json数据时 数据中包含hibernate对象时,出现转换错误,需加JsonIgnoreProperties来排除
- 普京巴黎峰会冷落土耳其 拉拢中国站队
- 关于oracle时间格式to_date函数
- MyBatis学习笔记(一)
- windows8.1+ArcGIS10.1+VisualStudio2013安装
- Android微信支付彻底扫坑
- Php字符串操作