Cho N và dãy a1 a2...an nếu có khóa k trong dãy thì cho biết có bao nhiêu giá trị Ai = k
a) Xác định bài toán b) Viết thuật toán để giải bài toán ( Dạng sơ đồ khối hoặc liệt kê ) c) Mô phỏng thuật toán: A: { 5,4,13,4,3,11} với k=3
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 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 dãy số nguyên A gồm N số nguyên a1,a2,....an và một số nguyên k . Cần biết trong dãy A có bao nhiêu số nguyên có giá trị lớn hơn k
Câu hỏi :
a, xác định input và out put của bài toán
b, hãy viết thuật toán giải bài toán
c, cho dãy A = { 5,6,4,5,6 } và k=5 . Hãy mô phỏng thuật toán
Input: số nguyên n, dãy số nguyên A, số nguyên k
Output: số lượng phần tử có giá trị lớn hơn k
Thuật toán:
B1: Nhập N, dãy số nguyên A, số nguyên k
B2: dem←0; i←1;
B3: Nếu i>N thì chuyển đến B6.
B4: Nếu A[i]>k thì dem←dem+1
B5: i←i+1; Quay lại B3.
B6: In dem ra màn hình và kết thúc.
dem=0; i=1;
i>N (Sai): A[1] không lớn hơn k, i=i+1=2
i>N (Sai): A[2] lớn hơn k, dem=dem+1=1; i=i+1=3
i>N (Sai): A[3] không lớn hơn k; i=i+1=4
i>N (Sai): A[4] không lớn hơn k, i=i+1=5
i>N (Sai): A[5] lớn hơn k, dem=dem+1=2; i=i+1=6
i>N (Đúng): In dem là 6.
End
Hãy xác định input output và nêu thuật toán giải quyết các bài toán sau:
a) cho N và 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 8?
b) Cho dãy A gồm N số nguyên . Hãy cho biết trong dãy A có bao nhiêu số chẵn ?
c) Cho số nguyên dương N và dãy số A gồm N số nguyên a1,a2,...aN viết thuật toán tính tổng của các phần tử có giá trị chẵn trong A
d) Tính tổng : S=1+2+3+...+N (với N là số nguyên dương, N>1)
e)Tính giai thừa :P=N!=1\(\times\)2\(\times\)3\(\times\)...\(\times\)N ( với N là số nguyên dương , N\(\ge\)1)
d:
#include <bits/stdc++.h>
using namespace std;
long long i,n,s;
int main()
{
cin>>n;
s=0;
for (i=1; i<=n; i++)
s=s+i;
cout<<s;
return 0;
}
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;
}
Câu 1. Xét thuật toán tìm kiếm tuần tự sau: B1. Nhập N, các số hạng a1, a2, , an và khóa k; B2. i ⃪ 1; B3. Nếu ai = k thì thông báo chỉ số i rồi kết thúc; B4. i ⃪ i + 1; B5. Nếu i > N thì thông báo dãy A không có số hạng nào có giá trị bằng k, rồi kết thúc; B6. Quay lại bước 3 Hãy cho biết thao tác ở bước 4 trong thuật toán trên được thực hiện tối đa bao nhiêu lần?
giúp e vs ạ
#include <bits/stdc++.h>
using namespace std;
const long long maxn=1e5+10;
long long a[maxn],i,n,x,l,r,m;
//chuongtrinhcon
long long tknp(long long a[],long long l,long long r,long long x)
{
while (l<=r)
{
long long g=(l+r)/2;
if (a[g]==x) return(g);
if (x>a[g]) l=g+1;
else r=g-1;
}
return(-1);
}
int main()
{
freopen("tknp.inp","r",stdin);
freopen("tknp.out","w",stdout);
cin>>n>>x;
for (i=1; i<=n; i++)
cin>>a[i];
cout<<tknp(a,1,n,x);
return 0;
}
Câu 1. Xét thuật toán tìm kiếm tuần tự sau:
B1. Nhập N, các số hạng a1, a2,…, an và khóa k;
B2. i <- 1;
B3. Nếu ai = k thì thông báo chỉ số i rồi kết thúc;
B4. i <- i + 1;
B5. Nếu i > N thì thông báo dãy A không có số hạng nào có giá trị bằng k, rồi kết thúc;
B6. Quay lại bước 3.
Hãy cho biết thao tác ở bước 4 trong thuật toán trên được thực hiện tối đa bao nhiêu lần?
Cho N và dãy số a1,….,an. Hãy cho biết có bao nhiêu số hạng trong dãy có giá trị bằng 9?
a)Xác định bài toán. (1đ)
b)Biểu diễn thuật toán bằng liệt kê hoặc sơ đồ khối.(1đ)
a, Xác định bài toán:
+Input: Dãy số a1,….,an và (0,5đ)
+Output: Số lượng số hạng trong dãy số a1,….,an có giá trị bằng 9 (0,5đ)
b, Thuật toán:
Bước 1.Nhập N và dãy số a1,….,an;
Bước 2. i ←1; n ← 0; (0,25đ)
Bước 3. Nếu aithì n ←n+1;
Bước 4. i → i+1 (0,25đ)
Bước 5. Nếu i > N thì thông báo số lượng số hạng bằng k trong dãy đã cho là n và kết thúc; (0,25đ)
Bước 6. Quay lại bước 3. (0,25đ)
Sây dựng thuật toán giải bài toán bằng cách liệt kê hoặc sô đồ khối
N số nguyên dương a1 a2 a3 ...N
Tính tổng các phần tử trong giãy a
Tìm số nhỏ nhất trong dãy a và chỉ số của nó
Sắp xếp lại dãy a dãy không giảm
Cho dãy A gồm N số nguyên a1,a2 ,…aN. Hãy cho biết tổng tất cả các số trong dãy A và giá trị trung bình cộng của các số trong dãy A?
Hãy xác định bài toán và mô tả thuật toán giải các bài toán
#include <bits/stdc++.h>
using namespace std;
double x,t;
int n,i;
int main()
{
cin>>n;
t=0;
for (i=1; i<=n; i++)
{
cin>>x;
t=t+x;
}
cout<<"tong cac so la:"<<fixed<<setprecision(2)<<t<<endl;
cout<<"trung binh la:"<<fixed<<setprecision(2)<<t/(n*1.0);
return 0;
}