3 条题解

  • 0
    @ 2023-1-4 20:27:03
    #include<bits/stdc++.h>
    using namespace std;
    int f(int x){
    	int flag=0;
    	for(int i=1;i<=x;i++){
    		if(x%i==0){
    			flag++;
    		}
    	}
    	return flag==2;
    }
    int main(){
    	int n;
    	cin>>n;
    	int cnt[505]={0},c=0;
    	for(int i=1;i<=n;i++){
    		if(f(i)==1){
    			cnt[c]=i;
    			c++;
    		}
    	}
    	printf("%d=",n);
    	int f=0;
    	for(int i=0;i<c;i++){
    		int prif=0;
    		while(n%cnt[i]==0){
    			n/=cnt[i];
    			prif++;
    		}
    		if(prif!=0){
    			if(f)printf("*");
    			if(prif==1){
    				printf("%d",cnt[i]);
    			}
    			else{
    				printf("%d^%d",cnt[i],prif);
    			} 
    			f=1;
    		}
    	}
    	return 0; 
    }
    
    

    信息

    ID
    127
    时间
    1000ms
    内存
    256MiB
    难度
    6
    标签
    递交数
    29
    已通过
    12
    上传者