熱點推薦:
您现在的位置: 電腦知識網 >> 編程 >> Java編程 >> Java核心技術 >> 正文

用數組解決JAVA中的大數問題-以求階乘為例!

2013-11-23 19:31:52  來源: Java核心技術 

  import javautilScanner;

  public class nc {

  public static void main(String[] args) throws Exception {

  // TODO Autogenerated method stub

  int[] date = new int[];

  date[] = ;

  int weishu = ; // 求出來的值的位數

  Systemoutprintln(用數組解決大數問題);

  Systemoutprintln(求n!的值);

  Systemoutprint(n=);

  Scanner cin = new Scanner(Systemin);

  int n = cinnextInt();

  for (int i = ; i <= n; i++) {

  for (int j = ; j <= weishu; j++) {

  date[j] = date[j] * i;

  }

  // 確保除最高位外的每位不大於

  for (int j = ; j < weishu; j++) {

  if (date[j] >= ) {

  date[j + ] += date[j] / ;

  date[j] = date[j] % ;

  }

  }

  //確保最高位不大於

  while (date[weishu] >= ) {

  weishu++;

  date[weishu] += date[weishu ] / ;

  date[weishu ] = date[weishu ] % ;

  }

  }

  Systemoutprint(n + != );

  for (int k = weishu; k >= ; k) {

  Systemoutprint(date[k]);

  }

  Systemoutprintln();

  }

  }


From:http://tw.wingwit.com/Article/program/Java/hx/201311/27042.html
    推薦文章
    Copyright © 2005-2013 電腦知識網 Computer Knowledge   All rights reserved.