CF735D-Taxes【数学,数论】

版权声明:原创,未经作者允许禁止转载 https://blog.csdn.net/Mr_wuyongcong/article/details/88763311

正题

luogu题目链接:https://www.luogu.org/problemnew/show/CF735D


题目大意

将一个数分解成若干个数使得这若干个数的最大因子最小。


解题思路

如果是质数就是1。如果是偶数根据哥德巴赫猜想就是2。或者把一个奇数减去2后是个质数也是2。否则就是3。


c o d e code

#include<cstdio>
using namespace std;
int n;
bool check(int n)
{
	if(n<2) return 0;
	for(int i=2;i*i<=n;i++)
	  if(n%i==0) return 0;
	return 1;
}
int main()
{
	scanf("%d",&n);
	if(check(n)) putchar('1');
	else if(!(n&1)) putchar('2');
	else if(check(n-2)) putchar('2');
	else putchar('3');
}

猜你喜欢

转载自blog.csdn.net/Mr_wuyongcong/article/details/88763311
今日推荐