40求调qwq
查看原帖
40求调qwq
1085720
zhuowei楼主2024/8/15 19:10
#include<bits/stdc++.h>
using namespace std;
long long sushu(long long a){
	if(a==2) return 0;
	if(a==3) return 0;
	int sum=0;
	for(long long i=2;i<=sqrt(a);i++){
		if(a%i==0){
			sum++;
			break;
		}
	}
	return sum;
}
int main(){
	long long n;
	cin>>n;
	for(long long i=2;i<=n;i++){
	    long long num=0;
		if(n==1) return 0;
		while(1){
			if(i!=2 && i%2==0) break;
			if(sushu(i)==1 || n%i!=0) break;
			else{
				num++;
				n=n/i;
			}
		}
		if(num!=0){
			if(num>1 && n!=1) cout<<i<<"^"<<num<<" * ";
			else if(num>1 && n==1) cout<<i<<"^"<<num;
			else if(num==1 && n!=1) cout<<i<<" * ";
			else cout<<i;
		}
	}
    return 0;
}

2024/8/15 19:10
加载中...