玄关求条qwq
查看原帖
玄关求条qwq
1373205
dg114514楼主2024/10/29 20:22
#include<bits/stdc++.h>
#define int long long
using namespace std;
signed main(){
	string s;
	int x,f;
	vector<int> fac;
	while(1|puts("Enter the number=")){
		fac.clear(); 
		cin>>s;
		int x=0,f=1;
		for(auto &i:s)if(isdigit(i))x=x*10+(i^48);
		if(x==0)break;
		cout<<"Prime? ";
		if(x<2){
			puts("No!\n");
			continue;
		}
		if(x>4e7){
			puts("No!\nThe number is too large!");
			continue;
		}
		for(int i=2;i<=sqrt(x);i++)
			if(x%i==0){
				puts("No!");
				cout<<x<<"=";
				int sum=0,flag=0;
				for(int i=2;i<=sqrt(x);i++){
			        while(!(x%i))x/=i,sum++;
			        if(sum)
			            if(flag) cout<<"*"<<i<<"^"<<sum,sum=0;
			            else cout<<i<<"^"<<sum,flag=1,sum=0;
			    }
			    (x==1)?cout<<"":cout<<"*"<<x<<"^1";
			    cout<<"\n\n";
				f=0;break;
			}
		if(f)puts("Yes!\n");
	} 
} 
2024/10/29 20:22
加载中...