蒟蒻求调,玄关
  • 板块灌水区
  • 楼主ETO_Xormnerx
  • 当前回复17
  • 已保存回复18
  • 发布时间2025/2/6 16:49
  • 上次更新2025/2/6 20:16:22
查看原帖
蒟蒻求调,玄关
1356572
ETO_Xormnerx楼主2025/2/6 16:49

最后一个质数

时间限制:1000ms 内存限制:128MB

给出 n 个整数序列,序列中所有的质数都在非质数前面,请你告诉我最后一个质数的下标(从 1 开始).

输入格式 第一行一个整数 n(1≤n≤10 6 ).

第二行 n 个数 a i ​ (1≤a i ​ ≤10 9 ).

数据保证一定有质数

输出格式 输出序列中最后一个质数的下标。

样例组

输入#1

3 2 3 1

输出#1

#include<bits/stdc++.h>
using namespace std;
long long sum=1,n;
long long a[1000010];
long long zs(int n){
	
    for(int j=1;j<=n;j++){
        for(int i=2;i<=sqrt(a[j]);i++){
            if(a[i]<2){
                break;
                return 0;
            }else if(a[j]%i==0){
                return 0;
            }
        }
        return 1;
    }

}
int main(){
    cin>>n;
	for(int i=1;i<=n;i++){
        cin>>a[i];
		if(zs(i)==1){
			if(sum<i){
                sum=i;
            }
		}
	}
	cout<<sum-1;
	return 0; 
}
2025/2/6 16:49
加载中...