T了三个点
查看原帖
T了三个点
1011277
laozhang_123楼主2024/5/5 16:37
#include<bits/stdc++.h>
using namespace std;
int main(){
    long long n,s=0,cnt=1;
    cin>>n;
    while(1){
        bool p=0;
        for(int i=2;i*i<=n;i++){
            if(n%i==0){
                p=1;
                if(s==0){
                	s=i;
				}
                else if(s==i){
                    cnt++;
                }
                else{
                    if(cnt>1){
                        cout<<s<<'^'<<cnt<<" * ";
                        cnt=1;
                    }
                    else{
                        cout<<s<<" * ";
                    }
                    s=i;
                }
                n/=i;
                break;
            }
        }
        if(p==0){
        	if(s==0){
        		cout<<n;
			}
            else if(s==n){
                cout<<n<<'^'<<cnt+1;
            }
            else{
            	if(cnt>1){
                	cout<<s<<'^'<<cnt<<" * "<<n;
                }
                else{
                	cout<<s<<" * "<<n;
				}
            }
            break;
        }
    }
    return 0;
}
2024/5/5 16:37
加载中...