acwing 4618. 两个素数
两个素数
原题链接:https://www.acwing.com/problem/content/4621/
思路
本来我以为是要判断是不是素数
但是y总后来讲的时候,我才发现
题目保证一定有解,也就是说x一定会由两个素数相乘得到。直接枚举即可,虽然会枚举到合数,但是x一定是两个素数相乘得到的,也就是说比如18 = 2 * 9。 18不会作为x给出数据
代码
#include<iostream>
using namespace std;
int main()
{
int x;
cin >> x;
for(int i = 2; ;i ++)
{
if(x % i == 0)
{
cout << i << ' ' << x / i ;
break;
}
}
return 0;
}
rds_blogs