2022寒假牛客第一场-牛牛数论
牛牛数论
D-牛牛做数论_2022牛客寒假算法基础集训营1 (nowcoder.com)
用到欧拉函数的定义
第一问 即最多质数相乘
第二问 只有质数的时候得到p-1/p 由于 当p不是质数时,会导致个数不是p-1个 所以 p-1/p > p-1/p+1
所以 我们可以得到 答案。
#include
using namespace std;
using ll = long long;
#define int long long
int prime[1100];
bool is_prime[1100];
int inx;
void shai()
{
is_prime[0]=is_prime[1]=0;
for(int i=2;i<1100;i++)
{
if(!is_prime[i])
{
is_prime[i]=1;
prime[++inx]=i;
for(int j=i*i;j<1100;j+=i)
{
is_prime[j]=1;
}
}
}
}
void solve()
{
ll n;
cin>>n;
if(n==1)
{
cout<<-1<n)
{
ans=ans/prime[i];
break;
}
}
cout<=2;i--)
{
flag=1;
for(int k=2;k*k<=i;k++)
{
if(i%k==0)
{
flag=0;
break;
}
}
if(flag==1)
{
// cout<<"ok"<<" ";
cout<>t;
while(t--)
{
solve();
}
}