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.

thầy cô hỗ trợ em với ạ

đề bài:

Bài 1: Tính tổng

Trên một màn hình lớn, người ta lần lượt cho hiện ra các số của một dãy gồm N số nguyên không âm a1, a2, …, aN và cứ lặp đi lặp lại như thế (nghĩa là sau khi ai xuất hiện vài giây đến lượt ai+1 xuất hiện, số xuất hiện sau aN là a1).

Yêu cầu: Bạn được đề nghị tính tổng của K số nguyên liên tiếp xuất hiện trên màn hình bắt đầu từ số nguyên thứ B.

Dữ liệu vào: Chứa trong file BAI1.INP gồm hai dòng:

+ Dòng đầu tiên ghi ba số nguyên N, K, và B, 1 £ N £104; 1 £ K £ 2. 104 ; 1 £ B £ 109.

+ Trong N dòng sau, dòng thứ i chứa số ai (ai < 2.109).

Dữ liệu ra: Ghi ra file BAI1.OUT một số là tổng tìm được.

Ví dụ:

BAI1.INP

BAI1.OUT

5 7 6

2

3

6

7

9

32

Bài 2. Đổi giày DOIGIAY.PAS

Bờm là chủ một cửa hiệu bán giày. Một ngày nọ, Bờm kiểm tra kho và thấy trong kho còn lại 2*N chiếc giày, trong đó có N chiếc giày chân trái với kích thước lần lượt là a1, a2, …, aN, N chiếc giày chân phải với kích thước lần lượt là b1, b2, …, bN. Hai chiếc giày chỉ có thể hợp thành một đôi nếu chúng là một cặp trái - phải có cùng kích thước. Bờm quyết định mang một số giày đến nhà sản xuất để đổi.

Hãy xác định giúp Bờm số ít nhất các chiếc giày cần đổi nếu cậu ta muốn cửa hiệu của mình có thể bán được N đôi giày.

Dữ liệu vào từ file văn bản: shoes.inp

· Dòng 1: Số nguyên N (1 ≤ N ≤ 100).

· Dòng 2: N số nguyên a1, a2, …, aN (1 ≤ ai ≤ 1000, i = 1, 2,…, N).

· Dòng 3: N số nguyên b1, b2, …, bN (1 ≤ bi ≤ 1000, i = 1, 2,…, N).

Kết quả ghi ra file văn bản: shoes.out

· Dòng 1: Số nguyên là số giày ít nhất cần đổi.

Ví dụ

shoes.inp

shoes.out

Giải thích

3

1 3 1

3 2 1

1

Đổi 1 chiếc giày chân trái kích thước 1 thành giày chân trái kích thước 2 hoặc đổi 1 chiếc giày chân phải kích thước 2 thành giày chân phải kích thước 1.

Bài 3: TUOI.PAS

Tuổi của cha hiện nay là b tuổi, tuổi của con là c tuổi (b-c > 0 và 0<b,c<150 b, c là các số nguyên dương). Hãy viết chương trình để kiểm tra xem tuổi cha có gấp đôi tuổi con hay không? Nếu đúng thì thông báo “YES”; trường hợp ngược lại, hãy tính số K năm (trước đó hoặc sau đó) tuổi cha gấp đôi tuổi con và thông báo “-K” nếu là K năm trước đó tuổi cha gấp đôi tuổi con hay “K” nếu sau K năm tuổi cha sẽ gấp đôi tuổi con”.

Ví dụ

Tuoi.inp

Tuoi.out

48 24

YES

49 24

1

47 24

-1

Gợi ý: Nếu b>2*c thì tăng i cho đến khi b+i=(c+i)*2 thông báo sau i năm

nếu b< 2*c thì tăng i cho đến khi b-i = 2*(c-i) thông báo trước i năm khác

Bài 4. Giá trị biểu thức BIEUTHUC.PAS

Cho một xâu chỉ chứa các kí tự: chữ số, dấu cộng, dấu trừ, thể hiện một biểu thức số học. Yêu cầu tính giá trị của biểu thức đã cho. các số hạng và giá trị của biểu thức có độ lớn không quá hai tỉ.

Dữ liệu vào từ tệp bieuthuc.inp chứa duy nhất một xâu kí tự thể hiện biểu thức cần tính.

Kết quả đưa ra tệp bieuthuc.out chứa một số nguyên là giá trị của biểu thức.

bieuthuc.inp

bieuthuc.out

12+3-7

8

Bài 6 duongdi.pas

Cho một ma trận vuông cấp n gồm các phần tử là các số nguyên dương. Hãy viết chương trình tìm đường đi từ ô đầu tiên bên trâí đến ô cuối cùng bên phải sao cho trên đường đi đó có tổng các giá trị lớn nhất. biết đường đi chỉ được phép đi sang phải hoặc đi xuống dưới.

Ví dụ

duongdi.inp

Duongdi.out

4

1 2 3 4

2 5 3 1

1 9 7 2

4 5 8 1

1 1

1 2

2 2

3 2

3 3

4 3

4 4

3
9 tháng 2 2020

program Doi_giay;
var n,i,j,d:longint;
a,b:array[1..1000] of longint;
begin
readln(n);
for i:=1 to n do
read(a[i]);
for j:=1 to n do
read(b[j]);
for i:=1 to n do
for j:=1 to n do
if a[i]=b[j] then begin a[i]:=0;
b[j]:=0; end;
for i:=1 to n do
if a[i]<>0 then d:=d+1;
write(d);
end.

31 tháng 12 2019

Mình có bài này ở gmail bạn gửi địa chỉ gmail của bạn để mình chuyển đáp án nhé

13 tháng 12 2023

#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
map<ll,ll> mp;
int main()
{
    ios::sync_with_stdio(0);cin.tie(0);cout.tie(0);
    freopen("MAP1.INP","r",stdin);
    freopen("MAP1.OUT","w",stdout);
    ll n; cin >> n;
    ll a[n+5];
    for(ll i=1;i<=n;i++) cin >> a[i], mp[a[i]]++;
    for(pair<ll,ll> it:mp) cout << it.first << " " << it.second << "\n";
}

Chúc bạn học tốt!

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>

 

8 tháng 2 2022

t ko bt lm, ms k10

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

GIUP MINH VS NHA MK DANG CAN GAPBờm và Cuội chơi trò chơi đoán số như sau:  Bờm chọn lấy hai số nguyên dương 𝑋, 𝑌 (𝑋 > 𝑌) rồi thông báo cho Cuội biết một dãy số thỏa mãn: trong dãy có một phần tử bằng tổng 𝑋 + 𝑌, một phần tử khác bằng hiệu 𝑋 − 𝑌  Nhiệm vụ của Cuội là đoán hai số 𝑋, 𝑌. Trò chơi khá khó nhưng sau nhiều lần chơi, Cuội biết được Bờm rất thích...
Đọc tiếp

GIUP MINH VS NHA MK DANG CAN GAP

Bờm và Cuội chơi trò chơi đoán số như sau:  Bờm chọn lấy hai số nguyên dương 𝑋, 𝑌 (𝑋 > 𝑌) rồi thông báo cho Cuội biết một dãy số thỏa mãn: trong dãy có một phần tử bằng tổng 𝑋 + 𝑌, một phần tử khác bằng hiệu 𝑋 − 𝑌  Nhiệm vụ của Cuội là đoán hai số 𝑋, 𝑌. Trò chơi khá khó nhưng sau nhiều lần chơi, Cuội biết được Bờm rất thích chọn cặp số giá trị lớn. Vì vậy, để tính toán dễ hơn, trong mỗi ván chơi Cuội sẽ cho bạn biết dãy số Bờm đưa ra và nhờ bạn xác định tích 𝑃 = 𝑋 × 𝑌 lớn nhất có thể phù hợp với dãy đó (nghĩa là tồn tại cặp số (𝑋, 𝑌) sao cho tích của chúng bằng 𝑃 mà tổng và hiệu của chúng đều xuất hiện trong dãy Bờm đưa ra). Dữ liệu  Dòng 1: số nguyên 𝑁 (2 ≤ 𝑁 ≤ 50) là số phần tử của dãy Bờm đưa ra  Dòng 2: 𝑁 số nguyên dương đôi một phân biệt là các phần tử dãy Bờm đưa ra, các số đều trong phạm vi 1 … 100. Kết quả  Dòng 1: số nguyên là tích lớn nhất tính được. Số này chắc chắn tồn tại vì Bờm không bao giờ chơi gian dối. Ví dụ BDOANSO.INP BDOANSO.OUT 3 1 4 5 6Bờm và Cuội chơi trò chơi đoán số như sau:  Bờm chọn lấy hai số nguyên dương 𝑋, 𝑌 (𝑋 > 𝑌) rồi thông báo cho Cuội biết một dãy số thỏa mãn: trong dãy có một phần tử bằng tổng 𝑋 + 𝑌, một phần tử khác bằng hiệu 𝑋 − 𝑌  Nhiệm vụ của Cuội là đoán hai số 𝑋, 𝑌. Trò chơi khá khó nhưng sau nhiều lần chơi, Cuội biết được Bờm rất thích chọn cặp số giá trị lớn. Vì vậy, để tính toán dễ hơn, trong mỗi ván chơi Cuội sẽ cho bạn biết dãy số Bờm đưa ra và nhờ bạn xác định tích 𝑃 = 𝑋 × 𝑌 lớn nhất có thể phù hợp với dãy đó (nghĩa là tồn tại cặp số (𝑋, 𝑌) sao cho tích của chúng bằng 𝑃 mà tổng và hiệu của chúng đều xuất hiện trong dãy Bờm đưa ra). Dữ liệu  Dòng 1: số nguyên 𝑁 (2 ≤ 𝑁 ≤ 50) là số phần tử của dãy Bờm đưa ra  Dòng 2: 𝑁 số nguyên dương đôi một phân biệt là các phần tử dãy Bờm đưa ra, các số đều trong phạm vi 1 … 100. Kết quả  Dòng 1: số nguyên là tích lớn nhất tính được. Số này chắc chắn tồn tại vì Bờm không bao giờ chơi gian dối. Ví dụ BDOANSO.INP 3 1 4 5 BDOANSO.OUT  6

0

Dưới đây là mã chương trình Pascal để sắp xếp dãy số theo yêu cầu đã cho:

```pascal
program sorting;

const
MAX_N = 1000;

var
N, i, j, temp: integer;
arr: array[1…MAX_N] of integer;
oddArr, evenArr: array[1…MAX_N] of integer;
oddCount, evenCount: integer;
inputFile, outputFile: text;

begin
// Mở file input và đọc dữ liệu
assign(inputFile, 'sorting.inp');
reset(inputFile);
readln(inputFile, N);
for i := 1 to N do
read(inputFile, arr[i]);
close(inputFile);

// Sắp xếp mảng theo yêu cầu
oddCount := 0;
evenCount := 0;
for i := 1 to N do
begin
if arr[i] mod 2 = 1 then
begin
oddCount := oddCount + 1;
oddArr[oddCount] := arr[i];
end
else
begin
evenCount := evenCount + 1;
evenArr[evenCount] := arr[i];
end;
end;

// Sắp xếp mảng số lẻ tăng dần
for i := 1 to oddCount - 1 do
for j := i + 1 to oddCount do
if oddArr[i] > oddArr[j] then
begin
temp := oddArr[i];
oddArr[i] := oddArr[j];
oddArr[j] := temp;
end;

// Sắp xếp mảng số chẵn giảm dần
for i := 1 to evenCount - 1 do
for j := i + 1 to evenCount do
if evenArr[i] < evenArr[j] then
begin
temp := evenArr[i];
evenArr[i] := evenArr[j];
evenArr[j] := temp;
end;

// Mở file output và ghi kết quả
assign(outputFile, 'sorting.out');
rewrite(outputFile);
for i := 1 to oddCount do
write(outputFile, oddArr[i], ' ');
writeln(outputFile);
for i := 1 to evenCount do
write(outputFile, evenArr[i], ' ');
close(outputFile);
end.
```

Bạn có thể sao chép mã chương trình trên vào một tệp tin có tên `sorting.pas`, sau đó tạo một tệp tin `sorting.inp` và nhập dữ liệu theo định dạng đã cho. Chạy chương trình và kết quả sẽ được ghi vào tệp tin `sorting.out`.

var i,n:longint; a:array[1..1000] of longint;

begin

readln(n);

for i:=1 to n do read(a[i]);

for i:=1 to n do

     if a[i] mod 2=0 then 

         begin

              inc(k);

              b[k]:=a[i];

         end

else

begin

inc(t);

c[t]:=a[i];

end;

for i:=1 to k-1 do

for j:=i+1 to k do

if b[i]<b[j] then

begin

d:=b[i];

b[i]:=b[j];

b[j]:=d;

end;

for i:=1 to  t-1 do

for j:=i+1 to t do

if c[i]>c[j] then

begin

d:=c[i];

c[i]:=c[j];

c[j]:=d;

end;

for i:=1 to k do write(b[i],' ');

for i:=1 to t do write(c[i],' ');

end.