TOÁN VỀ PHẦN NGUYÊN
Tìm số nguyên dương nhỏ nhất sao cho \(n!⋮12^{12}\)
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.
Đáp án A
= > U n = ( 1 2 + 1 ) ( 2 2 + 1 ) . ( 3 2 + 1 ) ( 4 2 + 1 ) ... [ ( 2 n − 1 ) 2 + 1 ] [ ( 2 n ) 2 + 1 ] ( 2 2 + 1 ) ( 3 2 + 1 ) . ( 4 2 + 1 ) ( 5 2 + 1 ) ... [( 2 n ) 2 + 1 ] [ ( 2 n + 1 ) 2 + 1 ] = > U n = 2 ( 2 n + 1 ) 2 + 1
Đề thi tin học trẻ BT phải ko b?
Mà bài này giải sao nhỉ?
Muốn xem code để tham khảo quá!!!
sắp xếp lại các phần tử theo chiều tăng dần rồi đặt kết quả muốn tìm = 1, so sánh nó với từng phần tử trong mảng, nếu bé hơn thì dừng chương trình và đó là kết quả, nếu không thỉ cộng kết quả cho phần tử đang được so sánh.
code :
program giai;uses crt;var n,m,i,c,t : integer;A : array[1..100] of integer;beginclrscr;write('so phan tu cua day so :');readln(m);for i:=1 to m do begin readln(A[i]); end;for i:= 1 to m do for n:=i+1 to m do if A[i] > A[n] then begin c:= A[i]; A[i] := A[n]; A[n] := c; end;t:= 1;for i:=1 to m-1 do if t < A[i] then break else t:= t+ A[i];writeln(t);readln;end.#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;
}
11nha!
11 nha bạn