求最大素数

描述

给定n(n≤100)个正整数,所有正整数均≤1000000;求其中最大的那个素数。

例如给定序列: 4 5 6 2 3,最大素数为:5

给定序列: 6 7 3 4 5 , 最大素数为:7

给定序列: 68 71 99 12 19 23 35 , 最大素数为: 71

给定序列:14 5 69 51 89 31, 最大素数为:89
格式
输入格式
输入为两行。第一行是一个正整数n,表示有多少个数据。第二行是n个正整数组成的序列。
输出格式
输出一个正整数,是上述序列中最大的那个素数。如果序列中没有素数,则输出0。
样例
输入样例

9
6668 7703 9137 3056 7953 1734 1600 1667 1909

输出样例

9137

#include<stdio.h>
int prime(int n){ //素数判断 传入参数 
    int i;
    for( i=2; i< n; i++){
    	if(n%i == 0)
    		break; //如果不能整除,跳出循环,说明不是素数,此时i 肯定小于n 
	}
	if(i>= n)  // 如果i >=n 意思是上面的for循环完整跑完一遍都没有可以整除的数,所以是素数 
		return 1;   
	else 
		return 0;
} 
int main ()
{
	int n;
	scanf("%d",&n);
	int a[n]; //定义数组,数组长度为你输入的n 
	int max = 0; //用来存储最大的素数,没有素数就是初始值0 
	for(int i=0; i< n; i++){  //这个循环是输入n 个整数 
		scanf(" %d",&a[i]);
		if(prime(a[i])){  //对每一个整数进行判断是不是素数 
			if(max < a[i])
			max = a[i];
		}	
	}    
	printf("%d",max);   
	return 0;
}
  • 8
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值