60分求大佬指点!
查看原帖
60分求大佬指点!
992714
sina_malfoy楼主2023/8/5 21:52

这是测试结果

#include<bits/stdc++.h>
using namespace std;
string a;
int Prime_number(int x){
	if(x<2)
		return 0;
    for(int i=2;i*i<=x;i++)
        if(x%i==0) return 0;
    return 1;
}
int main(){
	long long sum=0;
	while(1){
		sum=0;
		cout<<"Enter the number="<<endl;
		getline(cin, a); int str=a.size();
		for(int i=0;i<str;i++)
			if(a[i]>='0'&&a[i]<='9')
				sum*=10,sum+=a[i]-'0';
		if(sum==0)
			return 0;
		cout<<"Prime? ";
		if(!Prime_number(sum)){
			cout<<"No!"<<endl;
			if(sum>40000000){
				cout<<"The number is tuu large!"<<endl<<endl;
				continue;
			}
			cout<<sum<<"=";
			bool f=1;
				for (int i=2; i<=sum;i++){
					int k=0;
					while(sum%i==0)
						k++,sum/=i;
					if (k)
						if (f){cout<<i<<'^'<<k;f=0;}
						else cout<<'*'<<i<<'^'<<k;
				}
				cout<<endl;
		}
			
		else
			cout<<"Yes!"<<endl;
		cout<<endl;
	}
	return 0;
}

我把测试点2下载了下来,自己运行了一遍,感觉没有什么问题,为什么有错?(题解看不懂,我用尽全部毅力克制住自己要抄的念头)

2023/8/5 21:52
加载中...