12_打印1到最大的N位数
来源:互联网 发布:linux就该这么学书籍 编辑:程序博客网 时间:2024/06/15 19:48
Java版
题目:输入数字n,按顺序打印出1到最大的n位十进制数。比如输入3,则打印出1、2、3一直到最大的3位数即999。
public class Print1ToMax { //对数字进行加1操作 public static boolean Increment(int[] num){ boolean isOverflow = false; int nTakeOver = 0; for(int i=num.length-1; i >= 0;i--){ int nSum = num[i] +nTakeOver; if(i == num.length-1) nSum++; if(nSum >= 10){ if(i == 0) isOverflow = true; else{ nTakeOver = 1; nSum = nSum - 10; num[i] = nSum; } } else{ num[i] = nSum; break; } } return isOverflow; } public static void PrintNumber(int[] num) { boolean isBeginning = true; for(int i = 0 ; i< num.length;i++){ if(isBeginning && num[i] != 0) isBeginning = false; if(!isBeginning) System.out.print(num[i]); } } //打印从1到最大的n位数 public static void Test(int n) { if(n <= 0) System.out.println("Input Error!"); int[] num = new int[n]; while(!Increment(num)){ PrintNumber(num); System.out.println(); } } public static void main(String[] args) { Scanner scanner = new Scanner(System.in); System.out.print("Please input number:"); int num = scanner.nextInt(); Test(num); scanner.close(); }}
阅读全文
0 0
- 12_打印1到最大的N位数
- 剑指offer_面试题12_打印1到最大的n位数(大数问题)
- 剑指offer_面试题12_打印1到最大的n位数(大数问题)
- 剑指Offer_面试题12_打印1到最大的n位数
- 打印1到最大的n位数
- 打印1到最大的n位数
- 打印1到最大的n位数
- 打印1到最大的n位数
- 打印1到最大的n位数
- 打印1到最大的n位数
- 打印1到最大的n位数
- 打印1到最大的n位数
- 打印1到最大的N位数
- 打印1到最大的n位数
- 打印1到最大的n位数
- 打印1到最大的n位数
- 打印1到最大的n位数
- 打印1到最大的n位数
- 算法学习之动态规划--最长上升子序列
- 新手上路之Hibernate:第一个Hibernate例子
- MATLAB函数legend的使用记录:同时对多个函数去线标注标签
- Redis面试题及分布式集群
- 面试经典 总结二叉树常考题型和代码实现详解 2017
- 12_打印1到最大的N位数
- 准备看的
- iTextRenderer(Flying Saucer) HTML转PDF
- python的numpy库
- 关于驱动开发第一篇 内核编译(上)
- Gson在java对象和json字符串之间转换
- 5. Longest Palindromic Substring
- dpdk 代码分析 : 内存初始化
- 数据结构实验之链表七:单链表中重复元素的删除