求助各位大佬,#8一直超时,卡了一个多小时了。
查看原帖
求助各位大佬,#8一直超时,卡了一个多小时了。
861917
advanced23333楼主2022/11/5 11:38

附上代码,请大佬优化一下,感激不尽。

#include <stdio.h>
#include <math.h>

int zhishu(int n);//判断质数的函数,是质数返回1,不是质数返回0

int main()
{
	int n;
	scanf("%d", &n);
	if (n == 1) {
		printf("1");
	}
	for (int i = 1; i <sqrt(n); i++) {
		int t = 0;
		int r = zhishu(i);
		if (n % i == 0&&r==1) {
			t = n / i;
			int l = zhishu(t);
			if (l == 1) {
				printf("%d", t);
				break;
			}
		}
	}
	return 0;
}

int zhishu(int n) {
	int ret = 1;
	for (int i = 2; i < n; i++) {
		if (n % i == 0) {
			ret = 0;
			break;
		}
	}
	return ret;
}
2022/11/5 11:38
加载中...