社区讨论

关于TLE 60ps

P1075[NOIP 2012 普及组] 质因数分解参与者 4已保存回复 11

讨论操作

快速查看讨论及其快照的属性,并进行相关操作。

当前回复
11 条
当前快照
1 份
快照标识符
@lo26sy5t
此快照首次捕获于
2023/10/23 08:56
2 年前
此快照最后确认于
2023/11/03 09:11
2 年前
查看原帖
求助各位大佬,60分,时间复杂度貌似不高,怎么会这样呢?
CPP
/*****************************************
备注:
******************************************/
#include<bits/stdc++.h>
using namespace std;
#define int long long
const int N = 1e5 + 10;
const int INF = 0x3f3f3f3f;
int a[N],b[N];
bool check(int x)
{
	for(int i=2;i<x;i++)
	{
		if(x%i==0)
		{
			return false;	
		}	
	}	
	return true;
} 
signed main()
{
	int cnt=1;
//	freopen(".in","r",stdin);
//	freopen(".out","w",stdout);	
	int n;
	cin>>n;
	for(int i=1;i<=n;i++)
	{
		if(n%i==0)
		{
			a[cnt]=i;
			cnt++;
		}
	}
	int sum=1;
	for(int i=1;i<=cnt;i++)
	{
		if(check(a[i]))
		{
			b[sum]=a[i];
			sum++;
		}
	}
	int maxx=-N;
	for(int i=1;i<=sum;i++)
	{
		maxx=max(maxx,b[i]);
	}
	cout<<maxx<<endl;
	return 0;
}


回复

11 条回复,欢迎继续交流。

正在加载回复...