-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathbài toán đếm.html
104 lines (88 loc) · 2.96 KB
/
bài toán đếm.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Hoang Kim Ngoc</title>
<style>
body {
background-color: #f7d1d7;
font-family: 'Arial', sans-serif;
text-align: center;
margin: 0;
padding: 0;
height: 100vh;
display: flex;
flex-direction: column;
justify-content: center;
}
h1 {
color: #050505;
}
form {
margin-top: 20px;
}
label, input, button {
margin: 5px;
}
button {
background-color: #77f27b;
color: rgb(20, 18, 18);
border: none;
padding: 10px 20px;
cursor: pointer;
}
button:hover {
background-color: hsl(170, 94%, 55%);
}
#ketqua {
margin-top: 20px;
}
</style>
</head>
<body>
<h1>Bài toán đếm - Chỉnh hợp</h1>
<form>
<label for="tongso">Tổng số người tham gia cuộc thi :</label> <!-- Tạo nhãn tên cho ô nhập giá trị-->
<input type="number" id="tongso" name="tongso" min="0" required><!-- Khai báo kiểu của giá trị nhập vào-->
<br>
<label for="duocxep">Số người muốn xếp hạng đầu tiên :</label>
<input type="number" id="duocxep" name="duocxep" min="0" required >
<br>
<button type="button" onclick="tinhtoan()">Đáp án</button>
</form>
<p id="ketqua"></p>
<script>
// Hàm xử lý khi nhấn nút "Tính toán"
function tinhtoan() {
// Lấy giá trị từ ô nhập vào
var tongso = parseInt(document.getElementById("tongso").value);
// Ép kiểu cho giá trị nhập vào là số nguyên
var duocxep = parseInt(document.getElementById("duocxep").value);
// Kiểm tra của giá trị nhập vào
if (isNaN(tongso) || isNaN(duocxep) || duocxep > tongso || duocxep < 0
|| tongso <= 0 ) {
// Nếu giá trị nhâp vào không phải là số (not a number) hoặc là số âm
alert("Vui lòng nhập số nguyên hợp lệ."); //thông báo nhập lại
}
// Hàm tính giai thừa
function giaithua(n) {
if ( n == 1) {
return 1;
} else {
return n * giaithua(n - 1); // Sử dụng đệ quy
}
}
// Hàm tính chỉnh hợp
function chinhhop(n, k) {
return giaithua(n) / giaithua(n - k); // Sử dụng đệ quy
}
// Tính toán chỉnh hợp
var ketqua = chinhhop(tongso, duocxep);
// Hiển thị kết quả
document.getElementById("ketqua").innerHTML = "Số cách xếp hạng "
+ duocxep + " người đầu tiên từ " + tongso + " người là: " + ketqua + " cách";
}
</script>
</body>
</html>