一看这道题,第一反应就是用for循环去挨个查找质因数咯,所以直接开for循环,不过范围可以缩小到给出n的平方根,毕竟要找最大的,只要找到最小的返回去除以就可以得到最大的了。
源代码如下:
#include<iostream>
#include<cstdio>
#include<cmath>
using namespace std;
int main()
{
/*freopen("prime.in","r",stdin);
freopen("prime.out","w",stdout);*/
int n;
scanf("%d",&n);
for(int i=2;i<sqrt(n)+1;i++)
{
if(n%i==0)
{
printf("%d",n/i);
break;
}
}
return 0;
}
好像要说一下考试的状态???看到这道题,我的心情是顺畅的……之后……
我生前也是一个体面人……