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])
Test:
2
3
2
5
7
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=[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()))
Bộ test
4
3
1
4
5
Kết quả : 2 3
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 dãy 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 một đơn vị.
Đưa biến Res ra.
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)
Bộ test
4
1
6
5
Kq: 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
Khởi tạo [i]rmin = trunc(1e9);
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)
Bộ test
3
1
2
5
Kq: 1