PDA

View Full Version : [Q] Help ME !!!



BlueStar2003
19-02-2003, 01:37
Cho mình hỏi các cao thủ 1 bài về Java được chứ ???
Viết chương trình để tính C(n,k) dựa theo định nghĩa sau :

C(n,k) = n!/ (k!(n-k)!).

nhưng ko sử dụng phương pháp n!,và chỉ sử dụng 1 vòng lặp.

A New Member

noname2003
19-02-2003, 04:20
Chắc là không cần phải là cao thủ:
int ketqua(int n, int k){
int temp=1;
int j = n-k;
while(n>0){
temp *= n;
if(n<=k) temp /= n;
if(n<= j) temp /=n;
n--;
}
return temp;
}

BlueStar2003
19-02-2003, 11:51
cám ơn noname2003 nhiều !
nhưng mình đã nhập vô mà nó lại báo lỗi không chạy được !!!
À,mình quên nói là mình đang lập trình bằng jdk1.3 và notepad
còn bài của bạn thì viết = chương trình nào vậy ???

noname2003
19-02-2003, 15:33
Trời ơi, đấy chỉ là một Function thôi, muốn chạy thì phải viết cho đủ cả class chứ . Đây là ví dụ: (compile rồi chạy thử nhé)
public class test{
static int ketqua(int n, int k){
int temp=1;
int j = n-k;
while(n>0){
temp *= n;
if(n<=k) temp /= n;
if(n<= j) temp /=n;
n--;
}
return temp;
}
public static void main(String [] args){
System.out.println("ket qua (5,1): " + ketqua(5,1));
System.out.println("ket qua (5,0): " + ketqua(5,0));
System.out.println("ket qua (0,0): " + ketqua(0,0));
System.out.println("ket qua (5,5): " + ketqua(5,5));
}
}