Viết thuật toán để giải bài toán Cho dãy số A gồm N số nguyên a1 a2 a3 ...aN đếm xem trong dãy có bao nhiêu số vừa chia hết cho 3 vừa chia hết cho 5
Xây dựng thuật toán của bài toán sau: Cho dãy A gồm N số nguyên a1,a2,...,aN và 1 số nguyên k cho trước. Đếm xem có bao nhiêu phần tử trong dãy A chia hết cho số k. Mô phỏng thuật toán với 2 bộ input.
Câu 5. Hãy xác định Input, Output và viết thuật toán cho bài toán sau: Cho dãy A gồm N số nguyên từ A1, A2,…, AN . Hãy cho biết có bao nhiêu số chia hết cho 3 có trong dãy A. giúp mình vs ạ:(
Cho dãy A gồm N số nguyên: a1,a2,...,an.Hãy cho biết có bao nhiêu số chia hết cho 3 trong dãy A đã cho. a) Hãy xá định dữ liệu vào (Input) và dữ liệu ra (output) bài toán trên. b) Viết thuật toán để giải bài toán trên.
def count_pairs_divisible_by_3(arr):
n = len(arr)
# Đếm số lượng số dư khi chia cho 3
count_mod = [0, 0, 0]
for num in arr:
count_mod[num % 3] += 1
# Trường hợp 0: Số dư 0 + Số dư 0
count_pairs = count_mod[0] * (count_mod[0] - 1) // 2
# Trường hợp 1: Số dư 1 + Số dư 2
count_pairs += count_mod[1] * count_mod[2]
# Trường hợp 2: Số dư 1 + Số dư 1 hoặc Số dư 2 + Số dư 2
count_pairs += count_mod[1] * (count_mod[1] - 1) // 2
count_pairs += count_mod[2] * (count_mod[2] - 1) // 2
return count_pairs
# Thử nghiệm
arr = [3, 5, 7, 9, 11, 13, 15]
result = count_pairs_divisible_by_3(arr)
print(f"Số lượng cặp số có tổng chia hết cho 3 là: {result}"
Em hãy mô tả thuật toán bằng cách liệt kê hoặc sơ đồ khối để giải bài toán sau
“Cho dãy số nguyên gồm N phần tử : A1, A2.... An, đếm xem có bao nhiêu số nguyên âm có trong dãy”.
#include <bits/stdc++.h>
using namespace std;
long long x,i,n,dem;
int main()
{
cin>>n;
dem=0;
for (i=1; i<=n; i++)
{
cin>>x;
if (x<0) dem++;
}
cout<<dem;
return 0;
}
Xây dựng thuật toán cho bài toán sau: cho 1 số nguyên dương N và dãy số nguyên A: a1,a2…aN. Hãy tính: a) Tổng các phần tử có giá trị dương: a1+a3+a5+a7 b) đếm xem trong dãy A có bao nhiêu phần tử có giá trị
a: #incldue <bits/stdc++.h>
using namespace std;
long long i,n,x,t;
int main()
{
cin>>n;
t=0;
for (i=1; i<=n; i++)
{
cin>>x;
if (x>0) t=t+x;
}
cout<<t;
return 0;
}
Hãy mô tả thuật toán cho các bài toán sau: a) Tính tổng các phần tử chia hết cho 3 và chia hết cho 9 trong dãy gồm n số a1, a2, a3, …, an.
Câu 1 :Xây dựng thuật toán để đếm các số chia hết cho K và là số chẵn Câu 2:Xây dựng thuật toán tính tổng các số chia hết cho K của dãy số nguyên A gồm N số a1,a2...an Giải giúp mình với. Cảm ơn ạ❤️
2:
#include <bits/stdc++.h>
using namespace std;
long long a[100],n,i,t,k;
int main()
{
cin>>n>>k;
t=0;
for (i=1; i<=n; i++)
{
cin>>x;
if (x%k==0) t=t+x;
}
cout<<t;
return 0;
}
a)
Input: Dãy n số nguyên
Output: Đếm xem trong dãy đó có bao nhiêu số nguyên dương
b)
Bước 1: Nhập n và nhập dãy số
Bước 2: dem←0; i←1;
Bước 3: Nếu a[i]>0 thì dem←dem+1;
Bước 4: i←i+1;
Bước 5: Nếu i<=n thì quay lại bước 3
Bước 6: Xuất dem
Bước 7: Kết thúc
Input: Số nguyên N và dãy a1,a2,...,aN
Output: Số số nguyên có trong dãy
Thuật toán:
- Bước 1: Nhập N và dãy a1,a2,...,aN
- Bước 2: d←0; i←1;
- Bước 3: Nếu i>N thì in ra có d số dương trong dãy và kết thúc
- Bước 4: Nếu ai > 0 thì d←d+1;
- Bước 5: i←i+1, quay lại bước 3
Cho dãy A gồm n số nguyên (n>0), các phần tử lần lượt của dãy số có giá trị A1,A2,.....An . Hãy đếm xem trong dãy A có bao nhiêu phần tử có giá trị là 27 .
a) Xác định bài toán
b) Xây dựng thuật toán
#include <bits/stdc++.h>
using namespace std;
long long n,i,x,dem;
int main()
{
cin>>n;
dem=0;
for (i=1;i<=n; i++)
{
cin>>x;
if (x==27) dem++;
}
cout<<dem;
return 0;
}
a)
Input: số nguyên dương n và dãy số A1,A2,...,An
Output: Số phần tử có giá trị bằng 27
b) Thuật toán liệt kê:
Bước 1: Nhập n và dãy A1,A2,..,An
Bước 2: Dem←0; i←1;
Bước 3: Nếu i>n thì in ra Dem và kết thúc
Bước 4: Nếu Ai = 27 thì Dem←Dem+1;
Bước 5: i←i+1, quay lại bước 3