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.
Em viết lại ý tưởng:
- Ta lập một hàm xét xem một số nguyên N có phải là SNT không.
+ nếu N <= 1 thì hiển nhiên không phải
+ nếu N >= 2: ta xét số dư của N cho các số từ 2 đến phần nguyên của căn N
* nếu N chia hết cho bất kỳ số nào trong khoảng [2; phần nguyên căn N] thì N không là SNT, ngược lại N là SNT.
- Áp dụng hàm đó vào dãy a(N), cho biến dem <-- 0;
+ xét từ a[1] trở đi đến a[n], nếu a[i] là SNT thì dem <-- dem+1. Vòng lặp thực hiện đến khi i = N.
- Thông báo giá trị của dem hoặc không có snt trong dãy nếu dem = 0
#include <bits/stdc++.h>
using namespace std;
int main() {
ios::sync_with_stdio(false);
cin.tie(nullptr);
ifstream fin("MATKHAU.INP");
ofstream fout("MATKHAU.OUT");
vector<string> matkhau;
string line;
while (getline(fin, line)) {
if (line.empty()) continue;
stringstream ss(line);
vector<long long> a;
long long x;
while (ss >> x) {
a.push_back(x);
}
int m = a.size();
long long cnt = 0;
// Đếm số bộ 3 thỏa mãn
for (int i = 0; i < m; i++) {
for (int j = i + 1; j < m; j++) {
for (int k = j + 1; k < m; k++) {
long long sum = a[i] + a[j] + a[k];
long long prod = a[i] * a[j] * a[k];
if (sum != 0 && prod % sum == 0)
cnt++;
}
}
}
matkhau.push_back(to_string(cnt));
}
// Ghi mật khẩu (viết liền)
for (string &s : matkhau)
fout << s;
fin.close();
fout.close();
return 0;
}
a)
Input: Dãy n số nguyên
Output: Đếm xem trong dãy đó có bao nhiêu số nguyên dương
b)
Bước 1: Nhập n và nhập dãy số
Bước 2: dem←0; i←1;
Bước 3: Nếu a[i]>0 thì dem←dem+1;
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 dem
Bước 7: Kết thúc