参考了网上的http://blog.csdn.net/peasking_dd/article/details/6342984
写了个java版的:
public class Print_1_To_NDigit {
/**
* Q65.输入数字n,按顺序输出从1最大的n位10进制数。比如输入3,则输出1、2、3一直到最大的3位数即999
* 1.使用字符串存放数字。int a=123 --> char[] a={'1','2','3'};
* 2.递归。设置好第n位(最高位,对应char数组的第0个元素)后,接下来设置第n-1,n-2.....位
* 3.打印时候,前面的0不输出,见printNumber(char[] number)
*/
public static void main(String[] args) {
int n=3;
Print_1_To_NDigit p=new Print_1_To_NDigit ();
p.print(n);
}
public void print(int n){
char[] result=new char[n];
printHelpRecursive(result,n,0);
}
//from result[0] to result[n-1],set 0-9 into it
public void printHelpRecursive(char[] result,int length,int index){
if(index==length){
printNumber(result);
}else{
for(int i=0;i<=9;i++){
result[index]=(char)('0'+i);
printHelpRecursive(result,length,index+1);
}
}
}
//don't print the prefix '0'.e.g,when "0012",print "12"
public void printNumber(char[] re){
int len=re.length;
boolean canPrint=false;
for(int i=0;i<len-1;i++){
if(!canPrint&&re[i]!='0'){
canPrint=true;
}
if(canPrint){
System.out.print(re[i]);
}
}
System.out.println(re[len-1]);//the last bit is always printed.
}
}
分享到:
相关推荐
- Java中有许多内置的输入输出流类,用于处理不同类型的数据流,比如字节流(InputStream、OutputStream)和字符流(Reader、Writer)等。 4. Java中的文件类File。 - File类提供了一种用于操作文件系统中的文件...
JAVA模版引擎Freemarker常用标签(一) 1. if指令 这是一个典型的分支控制指令,该指令的作用完全类似于Java语言中的if,if指令的语法格式如下: <#if condition>... <#elseif condition>... <#elseif condition>......
14. 表达式4//3的结果是1,15 % 2的结果是1,1^0的结果也是1,但~1(按位取反)的结果是-2,因此值不是1的是~1。 15. Python语句print(r"\nGood")会打印出字符串'\nGood',因为'r'前缀表示原始字符串,不会将'\n'...
32. 从1到整数n中1出现的次数:需要遍历1到n中的每个数字,对于每个数字判断其各位数中1出现的次数,并累加这些次数。 33. 把数组中的数排成一个最小的数:需要对数字进行排序,排序的依据是两个数字组成的字符串...
/\d{3}|[a-z]{4}/ 匹配的是要么是一个三位数,要么是四个小写字母.在正则表达式中括号具有几种作用.它的主要作用是把单独的项目分组 成子表达式,以便可以像处理一个独立的单元那种用 *、+或? 来处理那些项目.例如:...
- `a >> 1`意味着将该二进制数向右移动一位,结果为`0000 0011`,即十进制的3。 - 因此,`printf(“%d\n”, a>>1);`的输出为3。 ### 3. 窗体的DrawWidth属性 - **知识点概述**:在编程中,窗体的`DrawWidth`属性...
- **详细说明**: 局域网通常覆盖较小的地理区域,例如一栋楼或者几个相邻的建筑物,而广域网则覆盖更大的范围,比如城市、国家甚至全球。局域网因为覆盖范围小,所以通常拥有更高的传输速率和更低的延迟,同时也有更...
选项A中的078不是一个有效的八进制数,因为八进制中没有数字8。 16. **表达式计算**:在某些编程语言中,如VBScript,'M+N'会被解释为字符串连接,因此`1+&K`会得到1232的结果。 17. **数据库系统**:数据库系统...
设\(a、b、c、d、m、n\)均为int型变量,且\(a=5\)、\(b=6\)、\(c=7\)、\(d=8\)、\(m=2\)、\(n=2\),则逻辑表达式\((m=a>b)\&\&(n--c>d)\)运算后,\(n\)的值是()。 A. 0 B. 1 C. 2 D. 3 **正确答案:** C **分析:*...
n(-84~127) 可以存储正数、负数、零、定点数和精度为38位的浮点数,其中,M表示精度,代表数字的总位数;N表示小数点右边数字的位数 日期类型 date 7字节 用于存储表中的日期和时间数据,取值范围是公元前4712年1月...
因此,在上述示例程序中,`b++` 将字符 '2' 增加 1 变为 '3'(ASCII 值为 51),所以输出结果为 B.50,2。 ### 3. PowerPoint 2003 放映方式的理解 - **知识点**: PowerPoint 2003 的不同放映方式及其特点。 - **...
Java程序通过流来进行输入输出操作,流是数据输入输出的抽象表示。题目中的描述“Java程序通过流来完成输入和输出,流是输入或输出信息的抽象。流通过Java的输入/输出系统与外设连接进行数据通信。”是对流概念的...
### 1. C语言中静态变量的理解 题目给出了一个具体的C语言函数`fun`以及`main`函数的调用方式,并要求求解两次调用`fun`函数后的输出结果。通过分析代码可以得出: - 函数`fun`接受两个整型参数`x`和`y`。 - 函数...
10. **量化精度与SQNR的关系**:如果每个样本的量化精度是N个二进制位,则其信号量化噪声比(SQNR)大约为\(6N + 1.76\) dB。这意味着量化精度越高,SQNR也越高,声音质量越好。 #### 二、判断题知识点解析 1. **...