BÀI THỰC HÀNH 4
1. Viết chương trình cho nhập vào một số nguyên dương n (nếu không dương thì yêu cầu
nhập lại cho đến khi nhận được số nguyên dương), tính và in ra kết quả của:
n
a. S= 1
2
i
i 1
n
1
b. P=
i 1 2
i 1
n
c. S= n
i|n
n 1
1 2 3
d. S= ... (1)n
2 3 4 n
2. Giai thừa của một số nguyên không âm n, viết là n!, được định nghĩa:
n!=n.(n-1).(n-2)…2.1,n=≥1
Vd: 5!=5x4x3x2x1=120
n!=1,n=0
Viết chương trình đọc vào số nguyên không âm, viết là n! và in ra kết quả giai thừa
của số này.
3. Viết chương trình cho phép nhập vào một số nguyên dương N. Tính xem có bao nhiêu
ước số của N? Ví dụ: N=12 có 6 ước số.( vì 12 có các ước là: 1,2,3,4.12).
4. Ước chung lớn nhất (UCLN) của hai số tự nhiên a và b là số tự nhiên lớn nhất r mà a
và b cùng chia hết cho số r đó.
USCLN còn có tính chất:
UCLN(x,y)=x, nếu y=0
UCLN(x,y)=UCLN(y,x mod y), nếu y≠0.
Hãy viết chương trình cho nhập vào hai số nguyen a và b. Tìm USCLN và BSCNN
của hai số này. (BSCNN của a và b có tính chất: bcnn x ucln=axb)
5. Viết chương trình tính và in ra trung bình cộng của một dãy số được nhập vào từ bàn
phím (không hạn chế số lượng số nhập vào). Qui ước số nhập có giá trị là 9999 là “số
cầm canh” (nghĩa là khi nhập số 9999 thì dừng việc nhập).
10 8 11 10 7
Ví dụ: nhập 10 8 11 7 9999 gttb= =9.2
5
6. Cho dãy số có tính chất ai ai1 i , với a0=1. Hãy viết chương trình cho nhập vào một
số nguyên dương N.
a. In ra N số hạng đầu tiên của dãy số này.
b. Tính và in ra tổng N số hạng đầu tiên của dãy số trên.
c. Tính và in ra tổng các số hạng của dãy nhỏ hơn N.
7. Cho dãy số có tính chất: Fi=Fi-1+Fi-2, i≥2 với F0=0 và F1=1.
Thực hiện các yêu cầu tương tự bài 6.
8. Một số nguyên N>1 được gọi là nguyên tố nếu N không chia hết cho bất kì số nào
ngoại trừ 1 và chính nó (hay nói cách khác, nó chỉ có 2 ước số là 1 và N).
a. Viết chương trình cho nhập vào một số tự nhiên N, kiểm tra và in ra cho biết số N
này có phải số nguyên tố hay không?
b. Biết chương trình cho nhập vào một số tự nhiên n, in ra các số tự nhiên nhỏ hơn n.
c. Viết chương trình cho nhập vào 1 số tự nhiên m, in ra m số nguyên tố đầu tiên.
Ví dụ: nhap mot so tu nhien m=5
5 so nguyen to dau tien: 2 3 5 7 11
9. Viết chương trình chơi trò đoán số. Chương trình tạo một số nguyên dương ngẫu
nhiên N không quá 100 (dùng hàm random). Người chơi sẽ dự đoán và nhập vào một
giá trị M, chương trình kiểm tra nếu đúng (M==N) thì in thông báo “Excellent! You
guesed the number”. Nếu sai thì tùy thuộc vào so sánh giữa số dự đoán và ban đầu mà
ra thông báo “Too low. Try again! (nếu M < N) hoặc “Too high. Try again!” (nếu M >
N), rồi cho người chơi tiếp tục nhập số dự đoán M đến khi đúng thì dừng.
10. Viết chương trình cho nhập vào một số x, tính căn bậc hai của số A với sai số EPS =
10-6 , theo công thức xấp xỉ:
New_guess= 0.5(x/guess + guess). Khởi đầu: gues=x/2.
New_gues là căn bậc hai của số x, sai số giữa New_guess và gues nhỏ hơn giá trị
EPS
11. Viết chương trình cho nhập vào một số x, tính giá trị của ex với sai số không quá 10-6,
dùng công thức xấp xỉ:
x x 2 x3
ex 1 ...
1! 2! 3!
12. Viết chương trình cho nhập vào một số nguyên dương h, in ra các mẫu hình sau ứng
với chiều cao h (dùng kí tự ‘*’ và kí tự khoảng trống).
Ví dụ với h 4:
* * **** *
** ** *** ***
*** *** ** *****
**** **** * *******
13. Viết chương trình cho nhập vào hai số nguyên dương a và b là hai cạnh một hình chữ
nhật, hãy vẽ hình chữ nhất ấy với các dạng như sau.
Ví dụ với a 5, b 7:
******* *******
******* * *
******* * *
******* * *
******* *******
14. Hãy viết chương trình đọc vào một số nguyên.
a. Tính và in ra cho biết số nguyên đó có bao nhiêu chữ số.
Ví dụ: Hay nhap 1 so nguyen: 1002
So nay co: 4 chu so
b. Tính và in ra tổng các chữ số của số nguyên này.
Ví dụ: Hay nhap 1 so nguyen: 1092
Tong cac chu so cua 1092 la: 1+0+9+2 12
c. Tính và in ra số nguyên có các chữ số có thứ tự ngược với các chữ số của số ban
đầu được gọi là số đảo (Tổng quát của B02-bài 2)
15. Một số nguyên dương gọi là đối xứng nếu đọc từ trái qua hay từ phải lại đều giống
nhau. Ví dụ các số sau đây là đối xứng: 12321, 9999, 55355, … Hãy viết chương
trình đọc vào một số nguyên dương và in ra thông báo cho biết số này có hay không
đối xứng.