求调昨天的D
  • 板块学术版
  • 楼主Fracture_Hikari
  • 当前回复2
  • 已保存回复2
  • 发布时间2023/1/8 10:23
  • 上次更新2023/10/24 05:12:21
查看原帖
求调昨天的D
641839
Fracture_Hikari楼主2023/1/8 10:23

交了十几发全是WA,傻了。

#include<bits/stdc++.h>
#define ll unsigned long long
#define rep(i,a,b) for(int i=(a);i<=(b);i++)
#define pre(i,a,b) for(int i=(a);i>=(b);i--)
#define sq(x) x*x
//Code by Lucas
using namespace std;
ll st[10000005];
ll prime[10000005];
ll vis[10000005];
signed main(){
	int t;
	cin>>t;
	while(t--){
		memset(st,0,sizeof(st));
		memset(prime,0,sizeof(prime));
		memset(vis,0,sizeof(vis));
		ll now=0;
		ll n;
		cin>>n;
		st[1] = 1;
	    for(int i=2;i<=1e7;i++) {
            if(!vis[i]){
            	prime[++now]=i;
            	prime[i]=1;
			}
	        for(int j=1;j<=now&&prime[j]*i<=1e7;j++){
	            vis[prime[j]*i]=1;
	            if(i%prime[j]==0)break;
	        }
	    }
	    for(int i=1;i<=now;i++){
	    	if(n%(prime[i]*prime[i])==0){
	    		cout<<prime[i]<<" "<<n/(prime[i]*prime[i])<<endl;
	    		break;
			}
		}
	}
    return 0;
}
2023/1/8 10:23
加载中...