90分求解
查看原帖
90分求解
1347874
hahahaha12楼主2025/1/10 10:57
#include<stdio.h>
#include<algorithm>
using namespace std;
bool is_prime(int n) {
	if (n <= 1) return false;
	for (int i = 3; i * i <= n; i+=2) {
		if (n % i == 0) return false;
	}
	return true;
}
int main() {
	 int n, i;//n是两个质数的乘积,让n除质数取整 
	scanf("%d", &n);
	if (n == 1) {
		printf("%d",1);
	}
	else if (n != 1) {
		for (i = 3; i <= n; i += 2) {
			if (is_prime(i)&&n % i == 0) {
				printf("%d", max(n/i, i));
				break;
			}
		}
	}
}
2025/1/10 10:57
加载中...