4 条题解

  • 1
    @ 2023-3-2 17:32:05
    #include<bits/stdc++.h>
    using namespace std;
    const int MAXN=1e5+5;
    int pri[MAXN],now;
    int vis[MAXN];
    void prime(int n){
    	memset(vis,0,sizeof(vis));
    	int m=0;
    	for(int i=2;i<=n;i++){
    		if(vis[i]==0){
    			vis[i]=i;
    			pri[++m]=i;
    		}
    		for(int j=1;j<=m;j++){
    			if(pri[j]>vis[j]||pri[j]>n/i) break;
    			vis[i*pri[j]]=pri[j];
    		}
    	}
    	for(int i=1;i<=m;i++) printf("%d ",pri[i]);
    }
    vector<int>factor(int x){
    	vector<int>ret;
    	for(int i=2;i*i<=x;i++){
    		while(x%i==0){
    			ret.push_back(i);
    			x/=i;
    		}
    	}
    	if(x>1) ret.push_back(x);
    	return ret;
    }
    vector<int>S;
    long long read(){
    	long long ans=0,f=1;
    	char ch=getchar();
    	while(!isdigit(ch)){
    		f*=(ch=='-')?-1:1;
    		ch=getchar();
    	}
    	while(isdigit(ch)){
    		ans=(ans<<3)+(ans<<1)+(ch^48);
    		ch=getchar();
    	}
    	return ans*f;
    }
    int main(){
    	int n=read(),m=read();
    	for(int j=n;j<=m;j++){
    		S=factor(j);
    		printf("%d",j);
    	for(int i=0;i<S.size();i++){
    		if(i==0)
    		printf("=%d",S[i]);
    		else
    		printf("*%d",S[i]);	
    		}
    		printf("\n");
    	}
    }
    

    信息

    ID
    19
    时间
    1000ms
    内存
    16MiB
    难度
    5
    标签
    递交数
    664
    已通过
    263
    上传者