全國最多中醫師線上諮詢網站-台灣中醫網
發文 回覆 瀏覽次數:1466
推到 Plurk!
推到 Facebook!

用陣列的方式寫出 n階乘

尚未結案
doubleface
一般會員


發表:4
回覆:0
積分:0
註冊:2003-11-18

發送簡訊給我
#1 引用回覆 回覆 發表時間:2004-04-05 10:12:08 IP:218.163.xxx.xxx 未訂閱
因為用長整數寫,太大的階乘會出錯,所以用陣列寫。(最少要到30階) 其中的陣列方式大概如以下的兩數相乘程式。 各位大大能幫忙試試嗎??    // Multiplication, 整數乘法 A * B = C import java.io.*; public class mul {    public static void main(String args[]) throws IOException    {          int numA[]=new int[3];       int numB[]=new int[3];       int numC[]=new int[6];       int M[]=new int[4];       int num1,num2;       String str1,str2;           BufferedReader buf;              buf=new BufferedReader(new InputStreamReader(System.in));              System.out.print("Input first number:");       str1=buf.readLine();               num1=Integer.parseInt(str1);               System.out.print("Input second number:");       str2=buf.readLine();               num2=Integer.parseInt(str2);              int numtmp=10;       for (int i=0; i<3; i ) { numA[i]=num1%numtmp; numB[i]=num2%numtmp; num1=num1/numtmp; num2=num2/numtmp; } System.out.println("The integer A is " numA[2] numA[1] numA[0]); System.out.println("The integer B is " numB[2] numB[1] numB[0]); // Multiplication, A[] * B[] = C[] for (int i=0; i<6; i ) numC[i]=0; int tag,multemp,addtemp,tagm; for (int i=0; i<3; i ) { tag=0; for (int j=0; j<3; j ) { multemp=numA[j]*numB[i] tag; M[j]=multemp%numtmp; tag = multemp/numtmp; } M[3]=tag; System.out.println("M is " M[3] M[2] M[1] M[0]); tagm=0; for (int j=0; j<4; j ) { addtemp=numC[i j] M[j] tagm; numC[i j]=addtemp%numtmp; tagm=addtemp/numtmp; } numC[i 3]=numC[i 3] tagm; } System.out.println("The A * B is " numC[5] numC[4] numC[3] numC[2] numC[1] numC[0]); } }
系統時間:2024-05-09 7:42:23
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!