Tại bước 2 của thuật toán tìm max, thay phép gán a1 cho max bằng phép gán aN cho max thì thuật toán được viết lại như thế nào. Viết lại thuật toán và mô phỏng thuật toán bằng một dãy số cụ thể.
Tìm giá trị lớn nhất của một dãy số nguyên
Yêu cầu : Tại bước 2 của thuật toán tìm max, thay phép gán a1 cho max bằng phép gán aN cho max thì thuật toán được viết lại như thế nào. Viết lại thuật toán và mô phỏng thuật toán bằng một dãy số cụ thể.
#include <bits/stdc++.h>
using namespace std;
long long x,n,max,i;
int main()
{
cin>>n;
cin>>x;
max=x;
for (i=1; i<n; i++)
{
cin>>x;
if (max<=x) max=x;
}
cout<<max;
return 0;
}
cho N , dãy số A1,A2,...An. hãy cho biết có bao nhiêu số hạng trong dãy có giá trị bằng 0
a) xác định input,output
b) viết thuật toán bằng phép liệt kê hoặc sơ đồ khối
c) hãy mô phỏng thuật toán với bộ dữ liệu sau:
-5,0,4,6,-8,0,6,12. và cho biết kết quả
#include <bits/stdc++.h>
using namespace std;
long long n,i,dem,x;
int main()
{
cin>>n;
dem=0;
for (i=1; i<=n; i++)
{
cin>>x;
if (x==0) dem++;
}
cout<<dem;
return 0;
}
Xây dựng thuật toán cho bài toán sau: Cho dãy A gồm N số nguyên a1,a2,...,aN và 1 số nguyên k cho trước. Đếm và đưa ra số lượng các ai = k. Mô phỏng thuật toán với 1 dãy số cụ thể.
VD: N=5, K=3, A1=2, A2=3, A3=3, A4=5, A5=6
i | 1 | 2 | 3 | 4 | 5 |
ai | 2 | 3 | 3 | 5 | 6 |
dem | 0 | 1 | 2 | 2 | 2 |
cho số nguyên dương n và dãy số nguyên dương a1, a2,...,an. hãy cho biết vị trí của các số mà chữ số tận cùng là 0 hoặc 5
- Nêu ý tưởng để giải bài toán
- Viết thuật toán bằng cách vẽ sơ đồ khối cho bài toán trên
- Kẻ bảng mô phỏng thuật toán với dãy số: 10, 13, 55, 53, 30, 21, 32
Ý tưởng: Sau khi nhập dãy xong rồi chúng ta sẽ xét từng phần tử trong dãy nếu có phần tử nào chia 10 dư 0 hoặc 5 thì tăng dem lên, và dem chính là két quả của đề bài
Hãy mô tả thuật toán tìm giá trị lớn nhất của một dãy số nguyên
1. Xác định Input, Output
2. Mô tả thuật toán bằng cách liệt kê hoặc sơ đồ khối
3. Mô phỏng thuật toán với bộ Input cụ thể
1: Input: Dãy số nguyên
Output: Số lớn nhất
Hãy mô tả thuật toán tìm giá trị lớn nhất của một dãy số nguyên
1. Xác định Input, Output
2. Mô tả thuật toán bằng cách liệt kê hoặc sơ đồ khối
3. Mô phỏng thuật toán với bộ Input cụ thể
1
input: n và dãy a1,a2,a3,...,an
output: số lớn nhất trong dãy a1,a2,...,an
2.
b1: nhập n và gãy a1,a2,...,an
b2: a1<-max; i<-2;
b3: nếu i>n thì kết thúc và in kết quả ra màn hình
b4: nếu ai>max thì max:=a[i];
b5: i<-i+1 quay lại b3
#include <bits/stdc++.h>
using namespace std;
long long n,i,x,dem;
int main()
{
cin>>n;
dem=0;
for (i=1; i<=n; i++)
{
cin>>x;
if (x%2==0) dem++;
}
cout<<dem;
return 0;
}
Mô phỏng thuật toán tìm Max với dãy A: 1-5-3-4
Cho dãy số A a1,a2,.... aN và khóa k đếm xem trong dãy có bao nhiêu phần tử bằng k .
Xác định input,output , nêu ý tưởng , thuật toán , mô phỏng thuật toán .
Tham khảo
Input: N, dãy số nguyên a1,a2,...,aN và k
Output: Số phần tử là bội của k
Thuật toán liệt kê:
Bước 1: Nhập N, dãy số nguyên a1,a2,...,aN và k
Bước 2: d←0; i←1;
Bước 3: Nếu i>N thì in ra d và kết thúc
Bước 4: Nếu ai chia hết cho k thì d←d+1;
Bước 5: i←i+1; quay lại bước 3
Cho dãy số n số nguyên dương a1,a2,...,an. Hãy tìm hai số ai,aj sao cho i khác j và ai+aj đạt max. Xây dựng thuật toán bằng sơ đồ khối hoặc liệt kê cho bài toán trên.