Tại bước 2 của thuật toán tìm max, thay phép gán a1 cho max bằng phép gán aN cho max thì thuật toán được viết lại như thế nào. Viết lại thuật toán và mô phỏng thuật toán bằng một dãy số cụ thể.
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.
#include <bits/stdc++.h>
using namespace std;
long long x,n,max,i;
int main()
{
cin>>n;
cin>>x;
max=x;
for (i=1; i<n; i++)
{
cin>>x;
if (max<=x) max=x;
}
cout<<max;
return 0;
}
#include <bits/stdc++.h>
using namespace std;
long long n,i,dem,x;
int main()
{
cin>>n;
dem=0;
for (i=1; i<=n; i++)
{
cin>>x;
if (x==0) dem++;
}
cout<<dem;
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
1
input: n và dãy a1,a2,a3,...,an
output: số lớn nhất trong dãy a1,a2,...,an
2.
b1: nhập n và gãy a1,a2,...,an
b2: a1<-max; i<-2;
b3: nếu i>n thì kết thúc và in kết quả ra màn hình
b4: nếu ai>max thì max:=a[i];
b5: i<-i+1 quay lại b3
#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%2==0) dem++;
}
cout<<dem;
return 0;
}
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
#include <bits/stdc++.h>
using namespace std;
int main() {
int n;
cin >> n;
vector<int> a(n);
for (int i = 0;
i < n; ++i) {
cin >> a[i];
}
sort(a.rbegin(), a.rend());
int max_sum = a[0] + a[1];
cout << max_sum << endl;
return 0;
}
Tự làm nha
#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%2==0) dem++;
}
cout<<dem;
return 0;
}