0
已解决
曹博扬
初级天翼
初级天翼
3717 20分,如何优化?
#include<iostream>
#include<cmath>
using namespace std;
long long n,a[10000010];
long long g(long long n){
long long c=0;
for(long long i=1;i<=n;i++){
if(n%i==0){
c++;
a[c]=i;
}
}
if(c==1)
return a[c];
else
return a[c-1];
}
bool f(long long x){
if(x==1) return false;
for(long long i=2;i<=sqrt(x);i++){
if(x%i==0){
return false;
}
}
return true;
}
int main(){
cin>>n;
if(f(n)){
cout<<"YES";
}
else{
cout<<g(n);
}
return 0;
}
曹博扬在2020-09-12 15:51:52追加了内容
#include<iostream>
#include<cmath>
using namespace std;
long long n,a[10000010];
bool f(long long x){
if(x==1) return false;
for(long long i=2;i<=sqrt(x);i++){
if(x%i==0){
cout<<x/i;
return false;
}
}
return true;
}
int main(){
cin>>n;
if(f(n)){
cout<<"YES";
}
return 0;
}
大佬,你再帮我看一下这哪错了