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.

Ví dụ 6. Tìm số lớn nhất trong dãy A các số a1, a2, ..., an cho trước.Ta sẽ dùng biến MAX để lưu số lớn nhất của dãy A. Việc xác định MAX có thể được thực hiện như sau: Đầu tiên gán giá trị a1 cho biến MAX. Tiếp theo, lần lượt so sánh các số a2, ..., an của dãy A với MAX. Nếu ai> MAX, ta gán ai cho MAX.INPUT: Dãy A các số ai, a¿, ..., a„ (n >]).OUTPUT: Giá trị MAX = max{ay, 4ạ,..., a„Ì.Từ đó, ta có thuật toán...
Đọc tiếp

Ví dụ 6. Tìm số lớn nhất trong dãy A các số a1, a2, ..., an cho trước.

Ta sẽ dùng biến MAX để lưu số lớn nhất của dãy A. Việc xác định MAX có thể được thực hiện như sau: Đầu tiên gán giá trị a1 cho biến MAX. Tiếp theo, lần lượt so sánh các số a2, ..., an của dãy A với MAX. Nếu ai> MAX, ta gán ai cho MAX.

INPUT: Dãy A các số ai, a¿, ..., a„ (n >]).
OUTPUT: Giá trị MAX = max{ay, 4ạ,..., a„Ì.
Từ đó, ta có thuật toán sau:
Bước 1. MAX← a1; i←1.
Bước 2. Nếu ai> MAX, gán MAX← ai.
Bước 3. i←i+ 1.
Bước 4. Nếu i≤n, quay lại bước 2.
Bước 5. Thông báo giá trị MAX và kết thúc thuật toán.

Dưới đây minh hoạ thuật toán trên với trường hợp chọn thỏ nặng nhất trong bốn chú thỏ có trọng lượng tương ứng là 2, 1, 5, 3 ki-lô-gam.

0
12 tháng 5 2023

Bài 1

Var a:array:[1..1000] of integer;

i,n:integer;

s:longint;

Begin

Write('n = ');readln(n);

For i:=1 to n do

Begin

Write('Nhap so thu ',i,' = ');readln(a[i]);

s:=s+a[i];

End;

Write('Cac so vua nhap la: ');

For i:=1 to n do 

Write(a[i]:8);

writeln;

write('Tong cac so la ',s);

Readln

End.

SWAP XBạn được cho hai dãy số nguyên dương aa và bb gồm nn phần tử mỗi mảng. Bạn được phép thực hiện thao tác này nhiều lần:Chọn 1 số nguyên ii bất kỳ (1≤i≤n) và tráo đổi 2 phần tử a[i] và b[i].Yêu cầu: Tìm giá trị nhỏ nhất có thể của max(a1,a2,...,an)⋅max(b1,b2,...,bn)sau khi bạn thực hiện thao tác trên 1 hoặc nhiều lần.Dữ liệu:Dòng đầu ghi t thể hiện số testcase, t≤100.t block tiếp theo, mỗi block có...
Đọc tiếp

SWAP X
Bạn được cho hai dãy số nguyên dương aa và bb gồm nn phần tử mỗi mảng. Bạn được phép thực hiện thao tác này nhiều lần:

Chọn 1 số nguyên ii bất kỳ (1≤i≤n) và tráo đổi 2 phần tử a[i] và b[i].

Yêu cầu: Tìm giá trị nhỏ nhất có thể của max(a1,a2,...,an)⋅max(b1,b2,...,bn)sau khi bạn thực hiện thao tác trên 1 hoặc nhiều lần.

Dữ liệu:

Dòng đầu ghi t thể hiện số testcase, t≤100.

t block tiếp theo, mỗi block có dạng:

Dòng đầu ghi số nguyên dương n (n≤104).

Dòng thứ hai ghi nn số nguyên dương a1,a2,...,an (ai≤106)

Dòng thứ ba ghi nn số nguyên dương b1,b2,...,bn(bi≤106).

Kết quả:
Ứng với mỗi testcase, in ra kết quả cần tìm.
input
3
6
1 2 6 5 1 2
3 4 3 2 2 5
3
3 3 3
3 3 3
2
1 2
2 1
output
18
9
2

1
13 tháng 2 2022

Ý tưởng: Tìm số lớn nhất trong hai dãy đã cho. Không mất tính tổng quát, giả sử số lớn nhất của 2 dãy nằm trong dãy a, ta xét các số trong dãy b, tại vị trí i:  nếu a[i] < b[i] thì hoán vị a[i] và b[i]. Sau đó tìm số lớn nhất trong dãy b rồi nhân với số lớn nhất của hai dãy sẽ ra được kết quả. 

#include <iostream>

using namespace std;

#define maxN 105

 

int main() {

int a[maxN], b[maxN];

int t;

cin >> t;

while (t--)

{

int n;

cin >> n;

int maxA = 0, maxB = 0;

for (int i = 0; i < n; i++)

{

cin >> a[i]; maxA = max(a[i], maxA);

}

for (int i = 0; i < n; i++)

{

cin >> b[i]; maxB = max(b[i], maxB);

}

if (maxA < maxB) 

swap(a, b);

int maxV = max(maxA, maxB);

for (int i = 0; i < n; i++)

if (b[i] > a[i]) 

swap(b[i], a[i]);

maxB = 0;

for (int i = 0; i < n; i++)

maxB = max(b[i], maxB);

cout << maxB * maxV << endl;

}

return 0;

}

11 tháng 12 2021

#include <bits/stdc++.h>

using namespace std;

long long x,n,i,t;

int main()

{

cin>>n;

t=0;

for (i=1; i<=n; i++)

{

cin>>x;

if (x>0) t=t+x;

}

cout<<t;

return 0;

}

24 tháng 4 2022

Đúng là anh thành sứt, lên đây hỏi ạ.

 

23 tháng 12 2020

Lời giải :

B1: nhập 2 biến x,y

B2: Nếu x>y tráo đổi gía trị của x và y, chuyển đến bước 3 . Nếu y > x thì 2 số đã theo thứ tự có giá trị không giảm , chuyển đến bước 3

B3: In ra kết qủa x, y và kết thúc thuật toán 

23 tháng 12 2020

Bước 1: Nhập n và nhập dãy số

Bước 2: ln←0; i←1

Bước 3: Nếu ln<a[i] thì ln←a[i];

Bước 4: i←i+1;

Bước 5: Nếu i<=n thì quay lại bước 3

Bước 6: Xuất ln

Bước 7: Kết thúc