<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    love fish大鵬一曰同風起,扶搖直上九萬里

    常用鏈接

    統計

    積分與排名

    friends

    link

    最新評論

    設計一個數據結構來存儲這種超大型數字并且實現加減

    package liaojiyong.net.blogjava; 

      

    public class BigInt 

        
    static int [] ArrOne = new int [1000]; 

      

        
    static int [] ArrOne2 = new int [1000]; 

      

        
    static int [] ArrOne3 = new int [1000]; 

      

        
    static int [] ArrOne4 = new int [1000]; 

      

        
    static StringBuffer intString ; 

      

        
    static int token = 0

      

        
    public static StringBuffer Arr( int [] ArrOne2) 

           intString 
    = new StringBuffer(); 

           
    int token1 = 0

           
    for ( int i = ArrOne2. length - 1; i >= 0; i--

               
    if (ArrOne2[i] != 0

                  token1 
    = 1

               }
     

               
    if (token1 == 1

                  
    int ss = 9 - String.valueOf( ArrOne2 [i]).length(); 

                  
    if (ss > 0

                      
    for ( int mm = 0; mm < ss; mm++

                         intString .append( 
    "0" ); 

                      }
     

                  }
     

                  intString .append(ArrOne2[i] 
    + " " ); 

               }
     

           }
     

           
    if ( intString .equals( "" ) || null == intString ) 

               intString .append( 
    "0" ); 

           }
     

           
    return intString ; 

        }
     

      

        
    public static StringBuffer ArrAdd( int [] ArrOne3, int [] ArrOne4) 

           intString 
    = new StringBuffer(); 

           
    int [] arrAddResult = new int [1000]; 

           
    for ( int i = 0; i < ArrOne3. length ; i++

               
    if (ArrOne3[i] >= 1000000000 || ArrOne4[i] >= 1000000000

                  System. out .println( 
    "Data Out Out Of Range!" ); 

                  
    return null ; 

               }
     

               
    if ((ArrOne3[i] > 0&& (ArrOne4[i] > 0

                      
    && (ArrOne3[i] + ArrOne4[i] + token >= 1000000000)) 

                  arrAddResult[i] 
    = ArrOne3[i] - 1000000000 + ArrOne4[i] + token ; 

                  token 
    = 1

               }
     else 

                  arrAddResult[i] 
    = ArrOne3[i] + ArrOne4[i] + token ; 

                  token 
    = 0

               }
     

           }
     

           
    return Arr(arrAddResult); 

        }
     

      

        
    public static void main(String[] args) 

           ArrOne3 [
    0= 11

           ArrOne3 [
    1= 11111111

           ArrOne3 [
    2= 111111111

           ArrOne4 [
    0= 1111

           ArrOne4 [
    1= 11

           ArrOne4 [
    2= 111111111

           System. out .println( 
    "Arr = " + Arr( ArrOne3 ).toString()); 

           System. out .println( 
    "ArrAdd(ArrOne3, ArrOne4) = " 

                  
    + ArrAdd( ArrOne3 , ArrOne4 ).toString()); 

      

        }
     

      

    }





    減法和加法差不多,所以就不寫了
    Arr = 111111111 011111111 000000011
    ArrAdd(ArrOne3, ArrOne4) = 222222222 011111122 000001122
     

    posted on 2007-03-20 14:24 liaojiyong 閱讀(2223) 評論(5)  編輯  收藏 所屬分類: Java

    評論

    # re: 設計一個數據結構來存儲這種超大型數字并且實現加減 2007-03-20 14:52 BeanSoft

    java.math.BigInteger 和 java.math.BigDecimal 實現了任意精度的整數和浮點數的計算.... 哥們還是不錯的, 有創意!

    提供用于執行任意精度整數算法 (BigInteger) 和任意精度小數算法 (BigDecimal) 的類
    http://gceclub.sun.com.cn/Java_Docs/html/zh_CN/api/java/math/package-summary.html  回復  更多評論   

    # re: 設計一個數據結構來存儲這種超大型數字并且實現加減 2007-03-20 15:33 lang

    當年的面試題 ,不過自己沒寫出程序來,只是大致的描述了思路   回復  更多評論   

    # re: 設計一個數據結構來存儲這種超大型數字并且實現加減 2007-03-20 17:23 liaojiyong

    package liaojiyong.net.blogjava;

    import java.math.BigInteger;

    public class BigIntegerTest {
    public static void main(String[] args) {
    BigInteger x = new BigInteger(
    "1111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111");
    BigInteger m = new BigInteger(
    "1111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111");
    BigInteger result = new BigInteger("0");
    result = result.add(x).add(m);
    System.out.println("result=" + result);
    }
    }


    result=2222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222


    多謝 @BeanSoft
    但要求設計一個數據結構,而不是現成的數據結構
      回復  更多評論   

    # re: 設計一個數據結構來存儲這種超大型數字并且實現加減 2007-03-20 17:57 BeanSoft

    那就只能用當年學數據結構描述計算機加減法的原理來做了....  回復  更多評論   

    # re: 設計一個數據結構來存儲這種超大型數字并且實現加減 2007-03-20 18:01 dennis

    存儲成字符串,通過棧來實現加減,這是當年做過的一道數據結構題  回復  更多評論   

    主站蜘蛛池模板: 亚洲国产精品专区在线观看| 久久久久亚洲AV成人网人人网站 | 亚洲国产精品无码专区在线观看| 日本视频免费高清一本18| 亚洲国产综合精品| 国产色婷婷精品免费视频| 国产无遮挡又黄又爽免费网站| 亚洲特级aaaaaa毛片| 亚洲av无码乱码在线观看野外| 免费网站观看WWW在线观看| 亚洲av永久无码精品三区在线4| 亚洲国产精品第一区二区三区| 久久免费公开视频| 免费播放美女一级毛片| 亚洲高清视频在线播放| 亚洲国产婷婷香蕉久久久久久| 真实国产乱子伦精品免费| 一区免费在线观看| 亚洲乱码一二三四区国产| 亚洲熟妇av一区二区三区 | 免费v片在线观看| 最刺激黄a大片免费网站| 三级片免费观看久久| 亚洲人成网站色在线观看| 国产亚洲高清不卡在线观看| 在线jyzzjyzz免费视频| 95免费观看体验区视频| WWW国产成人免费观看视频| 亚洲熟妇无码八V在线播放| 亚洲色图古典武侠| 久久影视综合亚洲| 国产一级做a爱免费视频| 国产99视频精品免费观看7| 永久免费av无码入口国语片| 免费的黄色的网站| 亚洲精品V天堂中文字幕| 亚洲一区在线观看视频| 久久亚洲熟女cc98cm| 亚洲AV永久无码精品一百度影院| 亚洲福利视频一区二区| 国产精品黄页在线播放免费|