BJUTACM 吃饭的怪癖

2019ACM校赛的一个题,现场考虑的时候存了个素数数组,但由于没有考虑大素数(10^7以上量级)导致蜜汁RE,查了半天也没查出来...如果没搞错学校的电脑好像还是环境不太一样,导致我输入RE的数好像还能显示结果,回来之后改了个算法终于过了...

 

数论题,大眼瞪小眼之后发现和欧拉函数有关,\frac{(\varphi (m)\cdot m)}{2}即为结果,具体推导好像用到了最大公因数的性质

计算\varphi (m)可以使用连乘公式

现场还是心态不太一样,大素数这个错误都没有查出来,实在太菜了....

题目链接

#include 
#include 
#include 
#include 
#define ll long long

using namespace std;
bool judge(int a)
{
	if(a==1)
	{
		return 0;
	}
	if(a==2)
	{
		return 1;
	}
	else
	{
		for(int i=2;i>a)
	{
		if(a==1)
		{
			cout<<1<

 

你可能感兴趣的:(数学思想)