zoukankan      html  css  js  c++  java
  • 12 打印1到最大的n位数

    public class test12{
        //数组解决大数问题 by myself
        public static void printToN1(int n){
            int[] array = new int[n];
            while(increment(array, 0, n)){
                print(array, n);
            }
        }
        private static boolean increment(int[] array, int i, int n) {//模拟数字加1操作
            if(i==n-1&&array[i]==9){
                return false;//增加1失败,结束程序
            }else if(array[i]==9){
                array[i]=0;
                return increment(array,i+1,n);
            }else{
                array[i]++;
                return true;
            }
        }
        private static void print(int[] array, int n) {//从第一个不是0的数开始打印
            int index = n-1;
            while(index>0&&array[index]==0){
                index--;
            }
            for(int i=index;i>=0;i--){
                System.out.print(array[i]);
            }
            System.out.print(",");
        }
        //找到100,但没有考虑大数
        public static void printToN2(int n){
            int max = 1;
            int j = 0;
            while(j++<n){
                max *=10;
            }
            for(int i=1;i<max;i++){
                System.out.print(i+",");
            }
        }
    
        public static void main(String[] args){
            printToN1(4);
        }
    }
  • 相关阅读:
    啃掉的博文全记录
    DP五十题
    noip 真题班刷题记录及总结思考
    dfklsJj
    【2018.11.7】luogu NOIp热身赛 及刷题思考
    【trie树专题】
    【倍增专题】
    10.23
    简析 NP 问题 和P问题
    [NOIP 2010普及组 No.4] 三国游戏
  • 原文地址:https://www.cnblogs.com/seven7seven/p/3930386.html
Copyright © 2011-2022 走看看