Tìm số nguyên dương k sao cho \(\frac{k^2}{1,001^k}\)đạt GTLN
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.
Vì mẫu số lũy thừa k của cơ số lớn hơn 1000 tăng nhanh hơn tử số với lũy thừa 2 (luôn dương) của k khi k tăng.
Vì k là số nguyên (âm, dương và số 0), nên khi số nguyên k nhỏ nhất, thì phân số trên đạt giá trị lớn nhất. Tức là k= \(-\infty\)
Bạn tham khảo tại đây:
Câu hỏi của Phạm Huyền Anh - Toán lớp 7 - Học toán với OnlineMath
Với \(k\ge19\)
Xét : \(\frac{20^k+18^k}{k!}-\frac{20^{k+1}+18^{k+1}}{\left(k+1\right)!}=\frac{20^k}{k!}\left(1-\frac{20}{k+1}\right)+\frac{18^k}{k!}\left(1-\frac{18}{k+1}\right)\)
\(\ge\frac{18^k}{k!}\left(2-\frac{38}{k+1}\right)>0\)
=> \(\frac{20^k+18^k}{k!}>\frac{20^{k+1}+18^{k+1}}{\left(k+1\right)!}\)với k >= 19
=> \(\frac{20^{19}+18^{19}}{19!}>\frac{20^{20}+18^{20}}{20!}>\frac{20^{21}+18^{21}}{21!}>...\)(1)
Với \(k\le19\)
\(\frac{20^k+18^k}{k!}-\frac{20^{k-1}+18^{k-1}}{\left(k-1\right)!}=\frac{20^{k-1}}{\left(k-1\right)!}\left(\frac{20}{k-1}-1\right)+\frac{18^{k-1}}{\left(k-1\right)!}\left(\frac{18}{k-1}-1\right)\)
\(>\frac{18^{k-1}}{\left(k-1\right)!}\left(\frac{38}{\left(k-1\right)}-2\right)>0\)
=> \(\frac{20^k+18^k}{k!}>\frac{20^{k-1}+18^{k-1}}{\left(k-1\right)!}\) với k <= 19
=> \(\frac{20^{19}+18^{19}}{19!}>\frac{20^{18}+18^{18}}{18!}>...>\frac{20^1+18^1}{1!}\)(2)
Từ (1); (2) => k = 19 thì \(\frac{20^k+18^k}{k!}\) có giá trị lớn nhất.
#include <bits/stdc++.h>
using namespace std;
long long a[1000006];
long long n;
int main()
{
for(int i=1;i<=1000006;i++){
a[i]=i*i;
}
cin>>n;
for(int i=1;i<=n;i++){
if(a[i]%n==0){cout<<a[i]/n;break;}
}
return 0;
}
#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;
}