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
-Code:
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ử:
N= 4
3
1
6
7
Kết quả:
6
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
-Code:
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ử:
N=3
1
4
9
Kết quả:
0 1 2
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
-Code:
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ử:
4
1
4
9
16
Kết quả :
2
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
-Code:
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ử:
4
1
4
9
16
Kết quả:
1