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 .
Cho dãy A gồm n số nguyên (n>0), các phần tử lần lượt của dãy số có giá trị A1,A2,.....An . Hãy đếm xem trong dãy A có bao nhiêu phần tử có giá trị là 27 .
a) Xác định bài toán
b) Xây dựng thuật toán
#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==27) dem++;
}
cout<<dem;
return 0;
}
a)
Input: số nguyên dương n và dãy số A1,A2,...,An
Output: Số phần tử có giá trị bằng 27
b) Thuật toán liệt kê:
Bước 1: Nhập n và dãy A1,A2,..,An
Bước 2: Dem←0; i←1;
Bước 3: Nếu i>n thì in ra Dem và kết thúc
Bước 4: Nếu Ai = 27 thì Dem←Dem+1;
Bước 5: i←i+1, quay lại bước 3
Cho dãy A gồm n số nguyên (n>0), các phần tử của dãy số lần lượt có giá trị A1, A2,….,An. Hãy đếm xem trong dãy A có bao nhiêu phần tử có giá trị là 50
a. Xác định bài toán
b. Xây dựng thuật toán
#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==50) dem++;
}
cout<<dem;
return 0;
}
Cho dãy số gồm n số nguyên (n>0), các phần của dãy số lần lượt có giá trị A1, A2,... . Hãy đếm xem trong dãy A có bao phần tử có giá trị 50 a) Xác định bài toán b) Xây dựng thuật toán
#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==50) dem++;
}
cout<<dem;
return 0;
}
Cho dãy n số nguyên dương a1,a2....aN và số nguyên dương K . Đếm xem trong dãy có bao nhiêu số nguyên dương có giá trị bằng K
Xác định input và output
Trình bày ý tưởng
Xây dựng thuật toán bằng 2 cách ( liệt kê và sơ đồ khối)
#include <bits/stdc++.h>
using namespace std;
long long n,x,k,i,dem;
int main()
{
cin>>n>>k;
dem=0;
for (i=1; i<=n; i++)
{
cin>>x;
if (x==k) dem=dem+1;
}
cout<<dem;
return 0;
}
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
Xây dựng thuật toán cho bài toán sau: cho 1 số nguyên dương N và dãy số nguyên A: a1,a2…aN. Hãy tính: a) Tổng các phần tử có giá trị dương: a1+a3+a5+a7 b) đếm xem trong dãy A có bao nhiêu phần tử có giá trị
a: #incldue <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;
}
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;
}
Nhập số nguyên dương N và dãy số a1,a2,…,An. số nguyên K; Đếm có bao nhiêu số nguyên k xuất hiện trong dãy A
1)Xác định input, output bài toàn
2) Mô tả thuật toán trên bằng PP Liệt kê
#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 (x==k) 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 |