本文主要是介绍PE 037 Truncatable primes,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
题目链接:https://projecteuler.net/problem=37
还是筛出来素数然后直接暴力判断
代码:
#include<bits/stdc++.h>
using namespace std;
const int MAXN=1e6+5;
int prime[MAXN],pow10[10];//保存素数
bool vis[MAXN];//初始化
int cnt=0;
void Prime(int n=MAXN)
{memset(vis,0,sizeof(vis));vis[1]=1;pow10[0]=1;for(int i=1;i<10;i++){pow10[i]=pow10[i-1]*10;}for(int i=2;i<n;i++){if(!vis[i])prime[cnt++]=i;for(int j=0;j<cnt&&i*prime[j]<n;j++){vis[i*prime[j]]=1;if(i%prime[j]==0)//关键 break;}}
}
bool judgel(int x)
{while(x){if(vis[x])return false;int div=1;for(int i=0;i<10;i++){if(x/pow10[i]!=0)div=pow10[i];}x%=div;}return true;
}
boo
这篇关于PE 037 Truncatable primes的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!