Bài 56:
- Xác định bài toán:
Input: số nguyên dương N và dãy a1,a2,...,aN
Output: liệt kê phần tử là số chẵn trong dãy
- Thuật toán:
Nhập dãy vào dãy a[i]
Duyệt từ đầu đến cuối dãy ,nếu a[i] là số chẵn thì đưa phần tử đó ra, mỗi phần tử cách nhau 1 dấu cách
- Chương trình
n= int(input())
a= list()
for i in range (0,n):
a.append(int(input()))
for i in range (0,n):
if a[i] % 2 == 0:
print(a[i])
- Thử:
1
2
3
4
5
Kết quả:
2
Bài 57:
- Xác định bài toán
Input: số nguyên dương N và dãy a1,a2,...,aN
Output: đưa ra vị trí các phần tử là số chính phương trong dãy
- Thuật toán:
Số chính phương là số có căn bậc hai là một số nguyên
Biểu thức toán học: căn u=GTTĐ(căn u)
Nhập dãy vào mảng a[i]
Duyệt từ đầu đến cuối dãy ,nếu a[i] là số chính phương thì đưa vị trí i ra mỗi giá trị tìm được cách nhau 1 dấu cách
- Chương trình:
from math import sqrt
from math import trunc
n = int(input())
a = list()
for i in range(0,n):
a.append(int(input()))
for i in range(0,n):
if sqrt(a[i])==trunc(sqrt(a[i])):
print(i)
- Thử:
3
1
9
8
Kết quả:
0 1
Bài 58:
- Xác định bài toán:
Input: số nguyên dương N và dãy a1,a2,...,aN
Output: đếm số lượng các phần tử trong dãy chia hết cho 2 nhưng không chia hết cho 3
- Thuật toán:
Nhập dãy vào mảng a[i]
res=0;
duyệt từ đầu đến cuối dãy ,nếu a[i] chia hết cho 2 và không chia hết cho 3 thì tăng biến Res lên 1 đơn vị
đưa biến res
- Chương trình:
n= int(input())
a= list()
for i in range (0,n):
a.append(int(input()))
res = 0
for i in range (0,n):
if a[i] % 2 == 0 and a[i] % 3 !=0:
res +=1
print(res)
- Thử:
1
2
3
4
5
Kết quả:
1
Bài 59:
- Xác định bài toán:
Input: số nguyên dương N và dãy a1,a2,...,aN
Output: phần tử có giá trị nhỏ nhất
- Thuật toán:
Nhập dãy vào mảng a[i]
Khởi tạo rmin=a[0]
Duyệt từ đầu đến cuối dãy, nếu a[i]< rmin thì cập nhật lại rmin=a[i];
Đưa rmin ra
- Chương trình:
n= int(input())
a= list()
for i in range (0,n):
a.append(int(input()))
rmin=a[0]
for i in range(1,n):
rmin=min(rmin, a[i])
print(rmin)
- Thử
1
2
3
4
5
Kết quả:
2