讨论 / 给个题解你们吧。。是C的。
VincentEam 2013-11-17 16:57:00
点我顶贴 收藏 删除
#include <stdio.h>

int main(){

int n;

scanf("%d",&n);

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

{

int z=n%x;

if(z==0)

{

int y=n/x;

if(y>x) {printf("%d",y);break;}

else {printf("%d",x);break;}

}

}

return 0;

}

#1 反逆のR@2014-05-08 23:52:07
回复 删除
显然LZ没有意识到第一个找到的一定是较小的,因此完全没有必要判断。以下是简洁版

#include <stdio.h>

int main()

{

long long n,i=2;

scanf("%lld",&n);

while (1)

{

if (!(n%i)) break;

i++;

}

printf("%lld",n/i);

return 0;

}

#2 hzsyjohn@2015-03-22 14:33:32
回复 删除
回复 #1 反逆のR:赞同2楼的意见!
查看更多回复
提交回复