Cho dãy A gồm N số nguyên tử A1,A2,...An.Hãy tính tổng các phần tử chia hết cho 3 trong dãy A.Viết thuật toán giải bài toán trên bằng cách liệt kê.
Hãy nhập câu hỏi của bạn vào đây, nếu là tài khoản VIP, bạn sẽ được ưu tiên trả lời.
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}"
#include <bits/stdc++.h>
using namespace std;
long long n,i,x;
int main()
{
cin>>n;
int dem=0;
for (i=1; i<=n; i++)
{
cin>>x;
if (x%2==0) dem++;
}
cout<<dem;
return 0;
}
#include <bits/stdc++.h>
using namespace std;
long long n,i,x;
int main()
{
cin>>n;
for (i=1; i<=n; i++)
{
cin>>x;
if (x%2!=0) cout<<x<<" ";
}
return 0;
}
Bài 1.
Bước 1. Nhập N và dãy số \(a_1,a_2,...,a_N\)
Bước 2. \(i\leftarrow1\), \(S\leftarrow0\)
Bước 3. \(i\leftarrow i+1\)
Bước 4. 4.1 Nếu \(i>N\) thì kết thúc thuật toán và đưa ra kết quả.
4.2 \(a_i\ge0\) thì quay lại bước 3
4.3 \(S\leftarrow S+a_i\) rồi quay lại bước 3
Thuật toán
-Bước 1: Nhập dãy số
-Bước 2: t←0; i←1;
-Bước 3: Nếu a[i] mod 3=0 thì t←t+a[i];
-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 t
-Bước 7: Kết thúc
Xem