Những câu hỏi liên quan
TT
Xem chi tiết
VH
10 tháng 9 lúc 21:47

#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;
}

Bình luận (0)
CA
Xem chi tiết
NT
18 tháng 8 2023 lúc 12:12

const fi='docao13.inp'

fo='docao13.out'

var f1,f2:text;

a:array[1..100]of integer;

i,n:integer;

//chuongtrinhcon

function kq(x:integer):integer;

var t,k:integer;

begin

t:=0;

while (x>0) do

begin

k:=x mod 10;

t:=t+k;

x:=x div 10;

end;

kq:=t;

end;

//chuongtrinhchinh

begin

assign(f1,fi); reset(f1);

assign(f2,fo); rewrite(f2);

readln(f1,n);

for i:=1 to n do 

read(f1,a[i]);

for i:=1 to n do

write(f2,kq(a[i]):4);

close(f1);

close(f2);

end.

Bình luận (0)
HM
Xem chi tiết
TH
Xem chi tiết
NA
8 tháng 2 2022 lúc 21:45

t ko bt lm, ms k10

Bình luận (0)
 Khách vãng lai đã xóa
PB
Xem chi tiết
CT
30 tháng 10 2018 lúc 2:22

Đáp án D

Số tập con của A có 8 phần tử C n 8

và số tập của A có 4 phần tử là  C n 4

⇒ 26 = C n 8 C n 4 = ( n - 7 ) ( n - 5 ) ( n - 4 ) 1680

⇔ n = 20

Số tập con gồm k phần tử là  C 20 k

Khi xảy ra  C 20 k > C 20 k + 1

Vậy với k = 10 thì C 20 k đạt giá trị nhỏ nhất.

Bình luận (0)
PB
Xem chi tiết
CT
25 tháng 10 2017 lúc 17:56

Đáp án D

Ta có:

  C n 8 = 26 C n 4 ⇔ n ! 8 ! n − 8 ! = 26 n ! 4 ! n − 4 ⇔ n − 7 n − 6 n − 5 n − 4 = 13 .14.15.16 ⇔ n − 7 = 13 ⇔ n = 20

Số tập con gồm k phần tử của A là: C 20 k ⇒ k = 10  thì C 20 k nhỏ nhất.

Bình luận (0)
PB
Xem chi tiết
CT
7 tháng 8 2018 lúc 12:36

Đáp án D

Số tập con của A có 8 phần tử C n 8  và số tập của A có 4 phần tử là  C n 4

⇒ 26 = C n 8 C n 4 = 4 ! n − 4 ! 8 ! n − 8 ! = n − 7 n − 5 n − 4 1680 ⇔ n = 20.

Số tập con gồm k phần tử là C 20 k .

Khi xảy ra

C 20 k > C 20 k + 1 ⇔ 20 ! k ! 20 − k ! > 20 ! k + 1 ! 19 − k ! ⇔ k + 1 > 20 − k ⇔ k > 9 , 5

Vậy với thì đạt giá trị nhỏ nhất

Bình luận (0)
TT
Xem chi tiết
TH
Xem chi tiết