Đề bài: Xây dựng thuật toán của bài toán Tìm Min của dãy số và mô phỏng thuật toán.
Hãy nhập câu hỏi của bạn vào đây, nếu là tài khoản VIP, bạn sẽ được ưu tiên trả lời.
a) Input: N và dãy số nguyên a1, a2, .., aN
Output: Tổng các số dương trong dãy
b) Thuật toán:
Bước 1: Nhập số nguyên dương N
Bước 2: Nhập dãy N số nguyên a1, a2, ..., aN
Bước 3: hởi tạo biến S = 0 (S là tổng các số dương) Bước 4: Lần lượt xét từng phần tử ai trong dãy:
- Nếu ai > 0 thì S <- S + ai
- Nếu ai <= thì bỏ qua
Bước 5: In ra giá trị của S
Bước 6: Kết thúc thuật toán
c)
i | ai | Tổng S |
|---|---|---|
1 | 3 | 3 |
2 | -4 | 3 |
3 | 6 | 9 |
4 | -5 | 9 |
5 | -12 | 9 |
6 | 7 | 16 |
7 | 0 | 16 |
8 | 8 | 24 |
Xác định bài toán
Input: Dãy n số
Output: Max của dãy số
Ý tưởng: Sẽ sắp xếp dãy theo chiều tăng dần, rồi xuất ra số cuối cùng của dãy
#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%3==0) t=t+x;
}
cout<<t;
return 0;
}
Ý 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
Câu 2:
#include <bits/stdc++.h>
using namespace std;
double a,b;
int main()
{
cin>>a>>b;
if (a>b) cout<<"a lon hon b";
else if (a<b) cout<<"a nho hon b";
else cout<<"a bang b";
return 0;
}

#include <bits/stdc++.h>
using namespace std;
double x,ln,nn,i,n;
int main()
{
cin>>n;
cin>>x;
ln=x;
nn=x;
for (i=1; i<n;i++)
{
cin>>x;
ln=max(ln,x);
nn=min(nn,x);
}
cout<<"So lon nhat la:"<<fixed<<setprecision(2)<<ln<<endl;
cout<<"So nho nhat la:"<<fixed<<setprecision(2)<<nn;
return 0;
}