计蒜客 蓝桥模拟 B.素数个数

2023-05-20,,

用 0,1,2,3⋯70,1,2,3 \cdots 70,1,2,3⋯7 这 888 个数组成的所有整数中,质数有多少个(每个数字必须用到且只能用一次)。

提示:以 000 开始的数字是非法数字。

代码:

#include <iostream>
#include <cstdio>
using namespace std;
int c,vis[];
int ispri(int n)
{
if(n==||n==)return ;
if(n%!=&&n%!=)return ;
for(int i=;i*i<=n;i+=)
if(n%i==||n%(i+)==)return ;
return ;
}
void dfs(int d,int k)
{
if(k == )
{
if(ispri(d))c ++;
return;
}
for(int i = ;i <= ;i ++)
{
if(!vis[i])
{
vis[i] = ;
dfs(d * + i,k + );
vis[i] = ;
}
}
}
int main()
{
for(int i = ;i <= ;i ++)
{
vis[i] = ;
dfs(i,);
vis[i] = ;
}
cout<<c;
}

计蒜客 蓝桥模拟 B.素数个数的相关教程结束。

《计蒜客 蓝桥模拟 B.素数个数.doc》

下载本文的Word格式文档,以方便收藏与打印。