GitBook

这里写图片描述 这里写图片描述

当时认为 “还是暴力~” 刚才也是以为对了…… 结果一查是TL超时了……

当时是这样写的:

#include<stdio.h>
int main() {
	long long int N;
	int i;
	scanf("%lld",&N);
	for(i=1; i<N; i++) {
		if((N%(i+1))==0)
			break;
	}
	printf("%d\n",i);
	return 0;
}

然后重新写了下: 其实本质还是暴力…… 但这次只到sqrt(N) 但这样会造成当N为质数时输出错误 所以还需要再加一个判定 AC打码如下:

#include<stdio.h>
#include<math.h>
int main() {
	long long N,K;
	double L;
	scanf("%lld",&N);
	L=sqrt(N);
	for(K=1; K<=L; K++) {
		if((N%(K+1))==0)
			break;
	}
	if(K<=L)
		printf("%lld\n",K);
	else
		printf("%lld\n",N-1);
	return 0;
}

这是人家11月份的题啊!!!

题目地址:【郑轻】[1752]Math Three!