站外题!!求助!!!
  • 板块学术版
  • 楼主xiejunxi888
  • 当前回复3
  • 已保存回复3
  • 发布时间2022/4/27 21:49
  • 上次更新2023/10/28 02:46:26
查看原帖
站外题!!求助!!!
691643
xiejunxi888楼主2022/4/27 21:49

最大的素因子

描述

约翰的农场开始渐入正轨了,因为他给每头奶牛贴上了清晰的序列号标签。不幸的是,奶牛们私下里认为有一些序列号比较好,一头牛的序列号如果有比其他奶牛都高的素因子,那它就有最高的社会地位。

现在给出N个序列号,每个序列号的范围在1-20000之间,请编程确定谁有最大的素因子。如果没有素因子,则输出0。

输入

第1行一个正整数N,1<=N<=5000。

第2-N+1行,每行一个正整数,表示一个序列号。

输出

一行一个正整数,表示具有最大素因子的序列号。如果有多个这样的序列号,则输出输入数据中较早输入的数。

输入样例 1

4 36 38 40 42

输出样例 1

38

code

#include<iostream>
using namespace std;
long long n,x,ma,a[100005],mai,s; 
int main()
{
	cin>>n;
	for(int i=1;i<=n;i++)
	{
		cin>>a[i]; 
	}
	for(int i=1;i<=n;i++)
	{
		x=a[i];
		for(int j=2;j<a[i];j++)
		{
          	s=0;
			if(x%j==0) 
			{
				if(j>ma) 
				{
                    for(int k=2;k<j;k++)
                    {
                      	if(j%k==0) s++;
                    }
                  	if(s==0)
                    {
                      	ma=j;
						mai=i;
                    }
					else continue;
				}
				x=x/j;
			}
		}
	}
	cout<<a[mai];
	
	
    return 0;
}

三十分求助!!

2022/4/27 21:49
加载中...