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

BÀI 2. ĐỘ CAO CỦA DÃY SỐ DOCAO13.PASTa gọi độ cao của một số nguyên dương K là tổng giá trị các chữ số của K.Ví dụ: số 25362 có độ cao là 18. Cho dãy số nguyên dương A gồm N phần tử a 1 ,a 2 , ..., a N .(1 ≤ N ≤ 1000, 1 ≤ i ≤ N, 0 &lt; a i ≤ 2147483647)Yêu cầu: Hãy tính độ cao của các phần tử trong dãy số A.Dữ liệu vào: Ghi trong file văn bản DOCAO13.INP có cấu trúc như sau:- Dòng 1: Ghi số nguyên dương N, là số...
Đọc tiếp

BÀI 2. ĐỘ CAO CỦA DÃY SỐ DOCAO13.PAS
Ta gọi độ cao của một số nguyên dương K là tổng giá trị các chữ số của K.
Ví dụ: số 25362 có độ cao là 18. Cho dãy số nguyên dương A gồm N phần tử a 1 ,
a 2 , ..., a N .(1 ≤ N ≤ 1000, 1 ≤ i ≤ N, 0 &lt; a i ≤ 2147483647)
Yêu cầu: Hãy tính độ cao của các phần tử trong dãy số A.
Dữ liệu vào: Ghi trong file văn bản DOCAO13.INP có cấu trúc như sau:
- Dòng 1: Ghi số nguyên dương N, là số lượng phần tử của dãy số.
- Dòng 2: Ghi N số nguyên dương, số thứ i là giá trị của phần tử a i trong dãy số,
các số được ghi cách nhau ít nhất một dấu cách.
Dữ liệu ra: Ghi ra file văn bản DOCAO13.OUT theo cấu trúc như sau:
- Dòng 1: Ghi N số nguyên dương t 1 , t 2 , ..., t N, t i là độ cao của số của a i . Các số
được ghi cách nhau một dấu cách.
Ví dụ:

DOCAO13.INP DOCAO13.OUT
5 13 5 5 10 9

1

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.

8 tháng 2 2022

t ko bt lm, ms k10

30 tháng 10 2018

Đá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.

25 tháng 10 2017

Đá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.

7 tháng 8 2018

Đá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