您的位置:首页 > 其它

求1-n位数的所有数

2015-10-12 22:36 134 查看
1、题目:求1-n位数的所有数

我们知道整型最大数为:2^31-1=2147483647因此当n值超过10时,会出现错误,所以需要使用数组来存储数据每一位

次灵感是来源于上篇2^n的来的

代码:

package oneToN;

/**
* Created by Administrator on 2015/10/12 0012.
*/

import java.util.Scanner;

/**
* Created by Administrator on 2015/10/10 0010.
*/
public class OneToN {
public static void main(String[] args) {
Scanner scanner=new Scanner(System.in);
int n=scanner.nextInt();
allNumber(n);
}

private static void allNumber(int n) {
int a[]=new int[n+1];
for(int i=0;i<a.length;i++)
a[i]=0;
int sum=a.length-2;
int end=a.length-1;
int jishu=-1;
while(sum>=0){
a[end]++;
if(a[end]>9){
for(int i=end;i>sum;i--){
if(a[i]>9){
a[i-1]=a[i-1]+a[i]/10;
a[i]=a[i]%10;
if(i-1==sum)
sum--;
}
}
}
jishu++;
if(jishu%10==0)
System.out.println();
print(a);
System.out.print("\t");
}

}

private static void print(int[] a) {
boolean flag=false;
for(int i=0;i<a.length;i++) {
if (a[i] != 0)
flag = true;
if(flag)
System.out.print(a[i]);
}

}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: