Có thể bạn quan tâm


Đang tải thanh công cụ tìm kiếm ...

Hiện kết quả từ 1 tới 4 của 4

Tính giai thừa 100! trong java

Chủ đề được gửi trong chuyên mục Thủ Thuật - Bài viết hướng dẫn bởi phuoc_it


  1. 24-04-2010, 09:20 PM

    Tính giai thừa 100! trong java

    Bạn nào có giải thuật tính giai thừa 100 trong java sử dụng chuổi chỉ mình với.
    nếu làm đc share file java cho mình với nha.
    mình đang dùng jcreator !
    wWw.bmtchat.net
    KIẾM TIỀN BẰNG IPHONE --> http://sinhvienit.net/forum/viec-tim-nguoi.666/
    Nơi trao giao lưu kết bạn.
  2. 04-05-2010, 10:45 AM

    Tính giai thừa 100! trong java

    có bạn nào làm đc không chỉ giúp mình với !
    thanks much !
    ----> BỔ SUNG BÀI VIẾT<----
    ---------------------------------------------------------------
    mình mới tìm ra được 1 bài này bạn nào biết sửa cho nó in ra đc

    import java.util.*;

    public class TimGiaiThua

    {

    private int [] ketQua = new int [10000];

    private int [] copyKetQua = new int[10000];



    private int [] soNhan = new int [1000];

    private int [] soMot = new int [1000];



    public void setUp()

    {

    int i=0;



    for( i = 0; i<= 9998; i++)

    {

    ketQua[i] = 0;

    copyKetQua[i] = 0;



    }

    ketQua[i]=1;

    copyKetQua[i]=1;



    i=0;



    for(i=0;i<=999;i++)

    {

    soNhan[i]= 0;

    }

    i=0;



    for( i=0;i<=998;i++)

    {

    soMot[i]=0;

    }

    soMot[i]=1;



    }

    public void timSoNhan()

    {

    int nho = 0;

    for(int i = 999;i>=0;i--)

    {

    soNhan[i] = soNhan[i] +soMot[i] + nho;

    if(soNhan[i]>9)

    {

    soNhan[i]= soNhan[i] - 10;

    nho=1;

    }

    else

    {

    nho=0;

    }

    }

    }

    public void timKetQua()

    {

    int nho=0;

    int a = 0;

    for( int p =999;p >0; p--)

    {

    nho = 0;

    for( int j = 9999;j>0 && (j-a)>=0 ; j--)

    {

    ketQua[j-a] = ketQua[j-a] + (copyKetQua[j]*soNhan[p]) + nho;

    nho=0;

    if(ketQua[j-a]>9)

    {

    while(ketQua[j-a]>9)

    {

    ketQua[j-a]= ketQua[j-a] - 10;

    nho++;

    }

    }

    else

    {

    nho=0;

    }

    }

    a++;

    }

    }

    public void bangKetQua()

    {

    for(int i=0; i<=9999;i++)

    {

    copyKetQua[i]=ketQua[i];



    }

    }



    public static void main(String[] args)

    {

    TimGiaiThua100 ok = new TimGiaiThua();

    soCanTim = so can tim;





    ok.setUp();



    for (int i = 2; i<=soCanTim; i++)

    {

    ok.timSoNhan();

    ok.timKetQua();

    ok.bangKetQua();

    }

    }

    }



    wWw.bmtchat.net
    KIẾM TIỀN BẰNG IPHONE --> http://sinhvienit.net/forum/viec-tim-nguoi.666/
    Nơi trao giao lưu kết bạn.
  3. 04-05-2010, 11:21 PM

    Tính giai thừa 100! trong java

    có ai giải giùm mình với !
    wWw.bmtchat.net
    KIẾM TIỀN BẰNG IPHONE --> http://sinhvienit.net/forum/viec-tim-nguoi.666/
    Nơi trao giao lưu kết bạn.
  4. 05-05-2010, 08:33 AM

    Tính giai thừa 100! trong java

    Bạn lượm lặt cái code ở đâu mà không cho vào thẻ code, nhìn cứ sát sát chẳng muốn đọc luôn.
    Tính giai thừa của số lớn dùng chuỗi à.

    Thuật toán brute nhé :

    Code:
     GiaiThua(n)
       Khai báo biến chuỗi S[SIZE];
       Khởi tạo giá trị ban đầu cho S thành ...1;
        for i=1 to n lặp
        // Nhân S với i, thực chất là nhân từng ký tự của S với i theo như tính phép nhân bằng tay 
            j=SIZE-1;
           // O day, S[j] trong java phai dung ham parse để chuyển qua lại số tự nhiên nhưng mình bỏ qua luôn.
            nho=0;
    
            while (S[j] # 0 ) {
               nho = S[j].j+nho
              S[j]=nho%10; // S[j] bằng số cuối cùng
               nho=nho/10; // trừ bỏ số đầu tiên
               j--;
            }
          // Trường hợp nhớ vẫn còn
          while(nho#0) {
              S[j]=nho%10;
              nho=nho/10;
             j--;
          }
               
        i++;
     }
                
    Xong, mà mình cũng chưa test đâu.
    Thực ra có nhiều giá trị của i, mình ko cần thiết phải nhân, ví dụ như 10, 20,.., thì mình chỉ cần dịch chuyển chuỗi rồi nhân với phần trên của nó là được. Cái này cũng giảm bớt được thời gian tính toán của máy.
    Thay đổi nội dung bởi: aminakie, 05-05-2010 lúc 07:55 PM

Facebook comment

Thông tin đề tài

Users Browsing this Thread

Hiện đang có 1 người đang xem bài viết này. (0 thành viên và 1 khách)

Visitors found this page by searching for:

tính giai thừa trong java

chuoi giai thua

code tinh giai thua trong java

chuong trinh tinh giai thua trong java

code giai thua java

tinh giai thua trong java

code java tinh giai thua

ham tinh giai thua trong java

thuật toán tính giai thừa trong java

code tính giai thừa trong java

phuong thuc giai thua trong java

thuat toan tinh giai thua trong java

code tinh n giai thua trong java

cách tính giai thừa trong java

ham giai thua trong java

code java giai thua

tính giai thừa với số lớn trong java

tinh n giai thua trong java

giai thua trong java

tính n giai thừa trong java

tính giai thừa java

code tính n giai thua trong java

Code java tinh n! Gjaj thua

tinh giai thua in java

viết hàm tính giai thừa trong java