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

8 tháng 2 2022

t ko bt lm, ms k10

Nhập vào một dãy n số nguyên A[1],A[2],...,A[n] . Đọc ra màn hình các thông tin sau : Tổng các phần tử của dãy. Số lượng các số hạng dương và tổng của các số hạng dương. Số lượng các số hạng âm và tổng của các số hạng âm. Trung bình cộng của cả dãy. Trung bình cộng các phần tử dương của mảng. Trung bình cộng các phần tử âm của mảng. Chỉ số của số hạng dương đầu tiên của dãy. Chỉ số...
Đọc tiếp

Nhập vào một dãy n số nguyên A[1],A[2],...,A[n] . Đọc ra màn hình các thông tin sau :

  1. Tổng các phần tử của dãy.
  2. Số lượng các số hạng dương và tổng của các số hạng dương.
  3. Số lượng các số hạng âm và tổng của các số hạng âm.
  4. Trung bình cộng của cả dãy. Trung bình cộng các phần tử dương của mảng. Trung bình cộng các phần tử âm của mảng.
  5. Chỉ số của số hạng dương đầu tiên của dãy.
  6. Chỉ số của số hạng âm đầu tiên của dãy.
  7. Chỉ số của số hạng dương cuối cùng của dãy.
  8. Chỉ số của số hạng âm cuối cùng của dãy.
  9. Số hạng lớn nhất của dãy và chỉ số của nó.
  10. Số hạng nhỏ nhất của dãy và chỉ số của nó.
  11. Số hạng âm lớn nhất của dãy và chỉ số của nó.
  12. Số hạng dương nhỏ nhất của dãy và chỉ số của nó.
  13. Giá trị lớn thứ nhì của dãy và các chỉ số của các số hạng đạt giá trị lớn nhì.
  14. Giá trị nhỏ thứ nhì của dãy và các chỉ số của các số hạng đạt giá trị nhỏ nhì.
  15. Số lượng các số dương liên tiếp nhiều nhất.
  16. Số lượng các số hạng dương liên tiếp có tổng lớn nhất.
  17. Số lượng các số hạng âm liên tiếp nhiều nhất.
  18. Số lượng các số hạng âm liên tiếp có tổng lớn nhất.
  19. Số lượng các số hạng liên tiếp đan dấu nhiều nhất ( dãy số hạng liên tiếp được gọi là đan dấu nếu tích hai số liên tiếp âm ).
  20. Số lượng các phần tử không tăng nhiều nhất.
  21. Số lượng các phần tử giảm nhiều nhất.
  22. Số lượng các phần tử tăng nhiều nhất.
  23. Đoạn con dương liên tiếp có nhiều các số hạng nhất (nếu có nhiều đoạn con thoả mãn thì đọc ra màn hình : số đoạn con thoả mãn và các đoạn con đó )
  24. Đoạn con gồm nhiều nhất các số hạng liên tiếp của dãy lập thành một cấp số cộng. nhất (nếu có nhiều đoạn con thoả mãn thì đọc ra màn hình : số đoạn con thoả mãn và các đoạn con đó )
  25. Đoạn con có các số hạng dương liên tiếp có tổng lớn nhất. nhất (nếu có nhiều đoạn con thoả mãn thì đọc ra màn hình : số đoạn con thoả mãn và các đoạn con đó )
  26. Đoạn con có các số hạng âm liên tiếp nhiều nhất. nhất (nếu có nhiều đoạn con thoả mãn thì đọc ra màn hình : số đoạn con thoả mãn và các đoạn con đó )
  27. Đoạn con có số hạng âm liên tiếp có tổng lớn nhất. nhất (nếu có nhiều đoạn con thoả mãn thì đọc ra màn hình : số đoạn con thoả mãn và các đoạn con đó )
  28. Đoạn con có các số hạng liên tiếp đan dấu nhiều nhất nhất (nếu có nhiều đoạn con thoả mãn thì đọc ra màn hình : số đoạn con thoả mãn và các đoạn con đó )
  29. Đoạn con có các phần tử không tăng nhiều nhất. nhất (nếu có nhiều đoạn con thoả mãn thì đọc ra màn hình : số đoạn con thoả mãn và các đoạn con đó )
  30. Đoạn con có các phần tử giảm nhiều nhất. nhất (nếu có nhiều đoạn con thoả mãn thì đọc ra màn hình : số đoạn con thoả mãn và các đoạn con đó )
  31. Số lượng các phần tử bằng giá trị X ( nguyên ) cho trước.
  32. Số lượng các phần tử khác giá trị X ( nguyên ) cho trước.
  33. Số lượng các phần tử >= giá trị X ( nguyên ) cho trước.
  34. Chuyển các số hạng dương của mảng lên đầu mảng và in mảng ra màn hình.
  35. Tìm số phần tử là dương và là số nguyên tố của mảng và vị trí của nó trong mảng
  36. Sắp xếp tăng dần mảng đã cho (a[i]<=a[i+1] )
  37. Sắp xếp giảm dần mảng đã cho (a[i]>=a[i+1] )
  38. Chèn một số nguyên m (m nhập vào từ bàn phím ) vào cuối dãy
  39. Chèn một số nguyên m (m nhập vào từ bàn phím ) vào đầu dãy
  40. Chèn một số nguyên m ( m nhập vào từ bàn phím ) vào vị trí k .
  41. Chèn một số nguyên m ( m nhập vào từ bàn phím ) vào vị trí thích hợp .
1
31 tháng 7 2019

Bạn có thể tách ra từng bài để được giải đáp nhé. Bạn hỏi từng câu và vào mục câu hỏi tương tự sẽ có.

26 tháng 6 2023

```
n, k = map(int, input().split())
a = list(map(int, input().split()))

count = 0
for i in range(n):
if a[i] == k:
count += 1

print(count)
```

giải thích: dòng đầu đọc vào số n và giá trị k, dòng hai đọc vào mảng a. Biến count được khởi tạo bằng 0 để đếm số lần xuất hiện của giá trị k trong mảng a. Vòng lặp for duyệt qua từng phần tử trong mảng a. Nếu phần tử đó bằng k => tăng biến count lên 1. Sau cùng, in ra giá trị của biến count.

Ví dụ:

Input:
```
5 2
1 2 3 2 4
```

Output:
```
2
```

(Giá trị 2 xuất hiện 2 lần trong mảng [1, 2, 3, 2, 4].)

26 tháng 6 2023

bn có thể lm c++ dc ko

đầu vào #include<bits/stdc++.h>

 

20 tháng 4 2023

program SoMinMaxTrongMang;

var

     A: array [1..50] of Integer; 

     n, i, min, max: Integer;

begin

     Write('Nhap so phan tu cua mang: ');

     Readln(n);

     for i := 1 to n do

     begin

          Write('A[', i, ']= ');

          Readln(A[i]);

     end;

     min := A[1];

     max := A[1];

     for i := 2 to n do

     begin

          if A[i] < min then

               min := A[i];

          if A[i] > max then

               max := A[i];

     end;

     WriteLn('So lon nhat trong mang la: ', max);

     WriteLn('So nho nhat trong mang la: ', min);

end.

uses crt;

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

i,n,dem,max,t,min,dem1:integer;

begin

clrscr;

write('n='); readln(n);

for i:=1 to n do 

 begin

write('A[',i,']='); readln(a[i]);

end;

dem:=0;

max:=-32000;

for i:=1 to n do 

  begin

if a[i] mod 2=0 then 

begin

dem:=dem+1;

if max<a[i] then max:=a[i];

end;

if dem=0 then writeln('Trong day khong co so chan')

else begin

writeln('So so chan la: ',dem);

writeln('So chan lon nhat la: ',max);

end;

t:=0;

for i:=1 to n do 

  if i mod 2=1 then t:=t+a[i];

writeln('Tong cac so o vi tri le la: ',t);

min:=maxint;

dem1:=0;

for i:=1 to n do 

  if a[i] mod 2<>0 then

begin  

inc(dem1);

if min>a[i] then min:=a[i];

end;

if dem1=0 then writeln('Trong day khong co so le')

else writeln('So le nho nhat la: ',min);

readln;

end. 

23 tháng 8 2023

#include <iostream>
#include <algorithm>
using namespace std;
int main()
{
    int n,k;
    cin >> n >> k;
    int a[n];
    for (int i=0;i<n;i++)
        cin >> a[i];
    sort(a,a+n);
    cout << a[k-1];
    return 0;
}

1:

uses crt;

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

i,n,max:integer;

begin

clrscr;

write('Nhap n='); readln(n);

for i:=1 to n do 

  begin

write('A[',i,']='); readln(a[i]);

end;

max:=a[1];

for i:=1 to n do 

  if max<a[i] then max:=a[i];

writeln(max);

readln;

end.

2:

uses crt;

var s:real;

i:integer;

begin

clrscr;

s:=0;

for i:=1 to 100 do 

  s:=s+1/i;

writeln(s:4:2);

readln;

end.