样例过,0分求助
查看原帖
样例过,0分求助
696321
liouzhenxuan001楼主2024/8/6 18:35
#include <bits/stdc++.h>
using namespace std;
int t[1001];
int z[1001];
int pd(int n){
	if(n==1){
		return 0;
	}
    for(int i=2;i<=sqrt(n);i++){
        if(n%i==0){
            return 0;
        }
    }
    return 1;
}
int main(){
    int n,p=0;
    cin>>n;
    for(int i=2;i<=1000;i++){
        if(t[i]==0){
            if(pd(i)){
            	p++;
            	z[p]=i;
            	int l=1000/i;
                for(int j=1;j<=l;j++){
                    t[i*j]=1;
                }
            }
        }
    }
    for(int i=1;i<=n;i++){
        int a;
        cin>>a;
        int cnt=0;
        for(int j=1;j<=p;j++){
        	if(a%z[j]==0){
        		cnt++;
        		while(a%z[j]==0){
        			a=a/z[j];
				}
			}
		}
        if(cnt==2){
            cout<<1<<endl;
        }
        else if(cnt==1){
        	if(a>1){
        		cout<<1<<endl;
			}
			else{
				cout<<0<<endl;
			}
		}
		else{
            cout<<0<<endl;
        }
    }
}
2024/8/6 18:35
加载中...