质因数分解

第一题 质因数分解

#include<bits/stdc++.h>

using namespace std;

int n,x,y;

int main(){

cin>>n;

for(int i=2;i<=n;i++)

{

if(n%i==0)

{

x=n/i;

y=max(x,i);

break;

}

}

cout<<y;

return 0;

本来想用线性筛法,可是因为数据过大,用的话,数组开不了那么多。于是花了那么多时间编了线性筛发不能过之后,还是直接改成了最直接的枚举。

(花了那么多时间编筛法,最后一点用都没有。嗯,我一点都不心痛!!!)

不过也是有条件的。

因为n是两个不同的质数的乘积,那么n必定为质数,所以只需要从2一个个除,反正除了那两个数,也不可能有其他数能够被n整除。

所以这题到底在考什么?(确定不是为了凑数?)

或许就是考,叫我们不要想多,想复杂吧,也只有这样理解了!!!!!!!!

嗯,一定是的!!!!!

posted @ 2019-04-14 11:51  星星梦  阅读(175)  评论(0编辑  收藏  举报