求助,一个特别暴力的做法,TLE了,怎么改呀
查看原帖
求助,一个特别暴力的做法,TLE了,怎么改呀
1235440
Yzh929楼主2024/8/14 15:02
#include<iostream>
#define ll long long 
using namespace std;
ll t,n;
bool prime(int x){
	if(x<=1) return false;
	else if(x==2) return true;
	else{
		for(int i=2;i*i<=x;i++){
			if(x%i==0) return false;
		}
	}
	return true;
}
int main(){
	ios::sync_with_stdio(false);
	cin.tie(0);
	cin>>t;
	for(int i=1;i<=t;i++){
		ll sum;
		cin>>n;
		sum=n;
		for(int j=2;j*j<=n;j++){
			while(sum%j==0)
			{
				if(prime(j)==true) cout<<j<<" ";
				sum/=j;
		    }
			
			//if(sum==n);
		}
		cout<<'\n';
	}
	return 0;
} 
2024/8/14 15:02
加载中...