Cho dãy A gồm n số nguyên A1, A2, ... , An. Tìm GTLN của dãy. Trình bày thuật toán của bài toán trên theo chiều ngược lại.
Input: dãy số nguyên gồm n số được nhập từ bạn phím
Output: số lớn nhất, bé nhất trong dãy
B1: nhập dãy số nguyên
B2: gán max:=a[1]; min:=a[1]
B3: nếu max<a[i] thì max:=a[i]; min>a[i] then min:=a[i]
B4: in kết quả ra màn hình
trình bày thuật toán giải bài toán sau .cho dãy A gồm N số nguyên từ a1,a2,...,aN. Cần cho biết dãy A có bao nhiêu số chẵn
Bài 1. Cho số nguyên dương N, dãy các số nguyên dương a1, a2, a3,…,aN và một số nguyên dương x. Trình bày thuật toán kiểm tra xem số x có trong dãy hay không? (có thể trình bày thuật toán dưới dạng liệt kê hoặc sơ đồ khối).
Giả sử có dãy số: a1, a2, a3, a4. Trong đó:
- a1: là ngày sinh của học sinh.
- a2: là tháng sinh của học sinh.
- a3: là năm sinh của học sinh.
- a4: là số 2021.
- x: là số 15.
Hãy trình bày các bước để kiểm tra x có trong dãy a1, a2, a3, a4 hay không?
Ví dụ: học sinh sinh ngày 18/05/2005 thì cần trình bày các bước để kiểm tra số 15 có trong dãy số 18, 5, 2005, 2021 hay không?
#include <bits/stdc++.h>
using namespace std;
long long a[4],n,x;
int main()
{
cin>>n>>x;
for (i=1; i<=n; i++) cin>>a[i];
for (i=1; i<=n; i++)
if (a[i]==x)
{
cout<<"YES";
break;
}
cout<<"NO";
return 0;
}
Cho dãy gồm N số nguyên A1, A2, An. Hãy trình bày thuật toán tính và hiển thị tổng các số dương có trong dãy đã cho?
#include <bits/stdc++.h>
using namespace std;
long long i,n,x,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;
}
Trình bày thuật toán đếm các số là ước của số nguyên K trên dãy N số nguyên a có giá trị lần lượt là a1,a2,…,aN .
#include <bits/stdc++.h>
using namespace std;
long long n,i,x,k,dem;
int main()
{
cin>>n>>k;
dem=0;
for (i=1; i<=n; i++)
{
cin>>x;
if (k%x==0) dem++;
}
cout<<dem;
return 0;
}
3.Cho dãy N số nguyên a1, a2, ..., aN. Hãy tính tổng các số là bội của 3 a. (2 điểm) Hãy nêu ý tưởng giải quyết bài toán trên b. (2 điểm) Hãy trình bày thuật toán giải quyết bài toán trên bằng phương pháp liệt kê từng bước
Y tưởng : xét từng số hạng trong dãy nếu số hạng > 0 thì xếp vào một biến tổng rồi chia cho số hàng đã xếp được
Input : Dãy A gồm N số nguyên a1....aN;
Output : Trung bình cộng của các số dương;
B1 : Nhập N số nguyên a1.... aN;
B2 : TB <--- 0, dem <---- 0, i <---- 1, Tong <--- 0;
B3 : Nếu a[i] > 0 thì Tong <--- TB + a[i];
B4 : dem <--- dem + 1;
B5 : Nếu i > N thì đưa ra màn hình kết quả TB = Tong/Dem rồi kết thúc chương trình;
B 6 : i <--- i + 1 rồi quay lại B3;
Cho dãy A gồm N số nguyên a1,a2 ,…aN và số nguyên dương k. Hãy cho biết trong dãy A có bao nhiêu số là bội của k?
Hãy xác định bài toán và mô tả thuật toán giải các bài toán
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 số nguyên dương n và dãy số a gồm n số a1,a2,,,,,an tính hiển thị tổng các số nguyên âm lẽ trong dãy số a đã cho
a xác định bài toán
b trình bài ý tưởng
c viết thuật toán
d mô phỏng bài toán
#include <bits/stdc++.h>
using namespace std;
long long n,i,x,t;
int main()
{
cin>>n;
t=0;
for (i=1; i<=n; i++)
{
cin>>x;
if ((x<0) and (x%2!=0)) t=t+x;
}
cout<<t;
return 0;
}