Cho tập A có n phần tửv( n > 2 ) k là một số nguyên 0<k<n Số chỉnh hợp chập k của n phần tử là
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;
}
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.
Đá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.
Đá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.
Đá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