3 条题解

  • 2
    @ 2022-8-22 16:56:20
    #include<bits/stdc++.h>
    
    using namespace std;
    int is_prime(int x){
    	int sum=0;
    	for(int i=1;i<=x/i;i++){
    		if(x%i==0){
    			sum+=2;
    			if(x/i==i)sum--;
    		}
    	}
    	return sum==2;
    }
    int prime[1005],c=0;
    int main(){
    	int n;
    	cin>>n;
    	for(int i=2;i<=n;i++){
    		if(is_prime(i)){
    			prime[c]=i;
    			c++;
    		}
    	}
    	printf("%d=",n);
    	int f=0;
    	for(int i=0;i<c;i++){
    		int cnt=0;
    		while(n%prime[i]==0){
    			n/=prime[i];
    			cnt++;
    		} 
    		
    		if(cnt!=0){ 
    			if(f)printf("*"); 
    			if(cnt==1){ 
    				printf("%d",prime[i]);
    			}else{
    				printf("%d^%d",prime[i],cnt);
    			} 
    			f=1;
    		}
    	}
    }
    
    • 2
      @ 2022-8-22 16:55:55
      #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; 
      }
      
      • @ 2022-8-22 16:56:40

        👀️ 👀️ 👀️ 😕

    • 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; 
      }
      
      
      • 1

      信息

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