K
Khách

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.

#include <iostream>
#include <vector>

using namespace std;

vector<int> primeFactors(int n) {
    vector<int> factors;
    for (int i = 2; i * i <= n; i++) {
        while (n % i == 0) {
            factors.push_back(i);
            n /= i;
        }
    }
    if (n > 1) factors.push_back(n);
    return factors;
}

int main() {
    int n, k;
    cin >> n >> k;
    vector<int> a(n);
    for (int i = 0; i < n; ++i) {
        cin >> a[i];
    }

    vector<int> factors = primeFactors(k);
    int sum = accumulate(a.begin(), a.end(), 0);
    vector<vector<bool>> dp(n+1, vector<bool>(sum+1, false));
    dp[0][0] = true;

    for (int i = 1; i <= n; ++i) {
        for (int j = 0; j <= sum; ++j) {
            dp[i][j] = dp[i-1][j];
            if (j >= a[i-1]) {
                for (int factor : factors) {
                    if (a[i-1] % factor == 0) {
                        dp[i][j] = dp[i][j] || dp[i-1][j-a[i-1]];
                        break;
                    }
                }
            }
        }
    }

    for (int j = 0; j <= sum; ++j) {
        if (dp[n][j]) {
            cout << j << endl;
            break;
        }
    }

    return 0;
}

8 tháng 2 2022

t ko bt lm, ms k10

26 tháng 6 2023

```
n, k = map(int, input().split())
a = list(map(int, input().split()))

count = 0
for i in range(n):
if a[i] == k:
count += 1

print(count)
```

giải thích: dòng đầu đọc vào số n và giá trị k, dòng hai đọc vào mảng a. Biến count được khởi tạo bằng 0 để đếm số lần xuất hiện của giá trị k trong mảng a. Vòng lặp for duyệt qua từng phần tử trong mảng a. Nếu phần tử đó bằng k => tăng biến count lên 1. Sau cùng, in ra giá trị của biến count.

Ví dụ:

Input:
```
5 2
1 2 3 2 4
```

Output:
```
2
```

(Giá trị 2 xuất hiện 2 lần trong mảng [1, 2, 3, 2, 4].)

26 tháng 6 2023

bn có thể lm c++ dc ko

đầu vào #include<bits/stdc++.h>

 

19 tháng 8 2023

#include <iostream>

#include <cmath>

using namespace std;

bool isPrime(int number) {

     if (number < 2) {

          return false;

     }

     for (int i = 2; i <= sqrt(number); i++) {

          if (number % i == 0) {

               return false;

          }

     }

     return true;

}

int main() {

     int N;

     cin >> N;

     int count = 0;

     for (int i = 0; i < N; i++) {

          int num;

          cin >> num;

          if (isPrime(num)) {

               count++;

          }

     }

     cout << "Số lượng số nguyên tố trong dãy là: " << count << endl;

     return 0;

}

16 tháng 8 2023

chú ý làm c++ nhé !