2 条题解
-
1齐硕 LV 10 @ 2022-07-29 15:08:50
#include <bits/stdc++.h>
using namespace std;
bool prime(int x)
{
if(x==1) return false;
for(int i=2;i<=sqrt(x);i++) if(x%i==0) return false;
return true;
}
int main()
{
int n;
cin>>n;
if(prime(n))
{
cout<<"YES\n";
return 0;
}
for(int i=2;i<=sqrt(n);i++)
{
if(n%i==0 && prime(i) && prime(n/i))
{
cout<<"YES\n";
return 0;
}
}
cout<<"NO\n";return 0;
} -
02021-05-06 12:10:54@
A Almost Prime 题解
判断素数的方法:bool prime(int x) { if(x==1) return false; for(int i=2;i<=sqrt(x);i++) if(x%i==0) return false; return true; }
只要询问一个数是否能分解为两个素数的乘积即可,即:
if(prime(n)) { cout<<"YES\n"; return 0; } for(int i=2;i<=sqrt(n);i++) { if(n%i==0 && prime(i) && prime(n/i)) { cout<<"YES\n"; return 0; } } cout<<"NO\n";
- 1
信息
- ID
- 1245
- 难度
- 8
- 分类
- (无)
- 标签
- (无)
- 递交数
- 35
- 已通过
- 6
- 通过率
- 17%
- 被复制
- 4
- 上传者