Điểm:
1000 (p)
Thời gian:
2.0s
Bộ nhớ:
1023M
Input:
bàn phím
Output:
màn hình
Cho dãy số nguyên (\(a_1, a_2, ..., a_n\)), \(1 \le n \le 10000\); với mọi \(i\) sao cho \(a_i \le 10^8\).
Yêu cầu:
- Hãy tìm số nguyên tố lớn nhất trong dãy trên.
Input
- Dòng thứ nhất chứa số nguyên dương \(n\).
- Dòng thứ hai chứa \(n\) số nguyên \(a_1, a_2, ..., a_n\).
Output
- Dòng thứ nhất ghi số nguyên tố lớn nhất.
- Dòng thứ hai ghi các chỉ số trong dãy mà giá trị của nó là số nguyên tố lớn nhất.
Example
Test 1
Input
9
19 7 81 33 17 4 19 21 13
Output
19
1 7
Bình luận
include <bits/stdc++.h>
define ll long long
using namespace std;
bool check(ll n)
{
if (n < 2)
return false;
for (ll i = 2; i * i <= n; i++)
{
if (n % i == 0)
return false;
}
return true;
}
int main()
{
long long n,a[100005],maxn=-100000000005;
cin>>n;
for(int i=1;i<=n;i++) cin>>a[i];
for(int i=1;i<=n;i++)
{
if(check(a[i])) maxn=max(maxn,a[i]);
}
cout<<maxn<<endl;
for(int i=1;i<=n;i++) if(a[i]==maxn) cout<<i<<" ";
}
12 bình luận nữa