Cho số nguyên N và dãy a1..aN,tìm 100 số lẻ đầu tiên và tính tổng của chúng
Mô tả thuật toán và nêu ý tưởng
nêu ý tưởng giải bài toán sau : cho số nguyên N và dãy gồm N số nguyên khác nhau A1,A2,....An hãy đưa ra dãy sau khi đổi chỗ phần tử đầu tiên và phần tử có giá trị lớn nhất cho nhau
#include <bits/stdc++.h>
using namespace std;
long long a[10000],n,i,ln,vt;
int main()
{
cin>>n;
ln=LLONG_MIN;
for (i=1; i<=n; i++)
{
cin>>a[i];
ln=max(ln,a[i]);
}
for (i=1; i<=n; i++)
if (ln==a[i]) vt=i;
swap(a[1],a[vt]);
for (i=1; i<=n; i++)
cout<<a[i]<<" ";
return 0;
}
a) Xác định bài toán
-Input: Dãy A gồm n số nguyên
-Output: Tổng các số hạng lẻ trong A
b) Mô tả thuật toán
-Bước 1: Nhập n và nhập dãy số
-Bước 2: s←0; i←1;
-Bước 3: Nếu a[i] không chia hết cho 2 thì s←s+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 s
-Bước 7: Kết thúc
Cho dãy A gồm N số nguyên a1,a2,...aN. đếm xem trong dãy có bảo nhiêu số lẻ
. a, Xác định bài toán
b, Nêu ý tưởng
c, Viết thuật toán
d, Mô phỏng thuật toán với N=5 và các số có giá trị: 3,4,7,6,2. Cứu mình vớiii
Thiết kế thuật toán : cho N số nguyên và dãy số nguyên a1, a2... aN. tính tổng các phần tử chẵn và lẻ
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;
}
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
Bài 1. Bài toán và thuật toán (xác định bài toán, viết thuật toán): Cho dãy gồm N số nguyên a1,...,aN. a) Tính tổng các số hạng có giá trị chẵn/lẻ có trong dãy. b) Tính tổng các số hạng có vị trí chẵn/lẻ có trong dãy. c) Đếm các số hạng có giá trị chẵn/lẻ/bằng K có trong dãy.
1. Tính tổng các số trong dãy số A = a1+a2+a3+..aN. Xác định input của bài toán
2. Cho N và dãy a1,a2,...aN. Trường hợp tìm thấy và đưa ra chỉ số i đầu tiên mà a i chia hết cho 3 thì với điều kiện nào thuật toán sẽ dừng?
A. i>N
B.ai chia hết cho 3
C. ai không chia hết cho 3
D. i<N
3. Thuật toán sau dùng để giải quyết bài toán nào?
B1: Nhập N, các số hạng a1,a2,a3,..aN
B2: Tong - 0, i - 1
B3. Nếu I>N thì đưa ra Tong rồi kết thúc
B4: Nếu i chia thì hết cho 2 thì Tong - Tong + Ai
B5: i - i+1
B6: quay lại B3
A. Tính tổng các số có vị trí chẵn
B. Tính tổng dãy số
C. Tính tổng các số dương trong dãy
D. Tính tổng các số chẵn trong dãy
4. Thuật toán sau dùng để giải quyết bài toán nào?
B1: Nhập giá trị hai số a,b
B2: c -a
B3: a - b
B4: b - c
B5: đưa ra giá trị mới của a và b rồi kết thúc
A. Hoán đổi giá trị 2 số a,b
B. Hoán đổi giá trị 3 số a,b,c
C. Tìm giá trị của a,b,c
D. Nhập giá trị của 3 số a,b,c
1:
#include <bits/stdc++.h>
using namespace std;
long long n,i,x;
int main()
{
cin>>n;
long long t=0;
for (i=1; i<=n; i++)
{
cin>>x;
t=t+x;
}
cout<<t;
return 0;
}
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;