5

集合中的质数

http://www.nowcoder.com/questionTerminal/747caf1049054e9abb18800faa1969b2

include<bits/stdc++.h>

using namespace std;
typedef long long ll;
ll m,ans[25],res;
int n;
void dfs(ll a, int cur,int cnt)
{
if(a>m) return ;
if(cnt&1) res+=m/a;
else res-=m/a;
for (int i=cur+1;i<n;i++)
{
dfs(ans[i]*a,i,cnt+1);
}
}
int main()
{
scanf("%d%lld",&n,&m);
for (int i=0;i<n;i++)
cin>>ans[i];
res=0;
for (int i=0;i<n;i++)
dfs(ans[i],i,1);
cout<<res<<endl;

return 0;

}

全部评论

相关推荐

脾气小祖宗:这简历摸到都得狠狠地消毒液洗手😂
点赞 评论 收藏
分享
评论
2
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务