蓝桥杯12届国B 纯质数

题目描述

如果一个正整数只有 1 和它本身两个约数,则称为一个质数(又称素数)。

前几个质数是:2,3,5,7,11,13,17,19,23,29,31,37,⋅⋅⋅ 。

如果一个质数的所有十进制数位都是质数,我们称它为纯质数。例如:2,3,5,7,23,37 都是纯质数,而 11,13,17,19,29,31 不是纯质数。当然 1,4,35 也不是纯质数。

请问,在 1 到 202106052 中,有多少个纯质数?

先判断"纯质数"(每一位都由2,3,5,7组成的数),再从纯质数中找质数,就不会超时了

cpp 复制代码
#include<iostream>
#include<cmath>
using namespace std;

int ans;

int prime(int x)
{
	if(x<2) return 0;
	if(x==2) return 1;
	for(int i=2; i<=sqrt(x); ++i)
	{
		if(x%i==0) return 0;
	}
	return 1;
}

int chun_prime(int x)
{
	while(x)
	{
		int temp = x%10;
		if(temp!=2 && temp!=3 && temp!=5 &&temp!=7)
		{
			return 0;
		}
		x /= 10;
	}
	return 1;
}

int main()
{
	for(int i=2; i<=20210605; ++i)
	{
		if(chun_prime(i) && prime(i)) ans++;
	}
	
	cout<<ans;
	
	return 0;
}
相关推荐
qystca18 小时前
P8803 [蓝桥杯 2022 国 B] 费用报销
蓝桥杯
wuqingshun31415920 小时前
蓝桥杯 10. 全球变暖
c++·算法·职场和发展·蓝桥杯
咚咚轩2 天前
蓝桥杯13届国B 完全日期
蓝桥杯·枚举·日期问题
逐光沧海2 天前
数据结构基础--蓝桥杯备考
数据结构·c++·算法·蓝桥杯
吃个早饭2 天前
2025年第十六届蓝桥杯大赛软件赛C/C++大学B组题解
c语言·c++·蓝桥杯
ErikTse_3 天前
【官方题解】StarryCoding 入门教育赛 2 | acm | 蓝桥杯 | 新手入门
职场和发展·蓝桥杯
嗨信奥3 天前
蓝桥杯青少 图形化编程(Scratch)每日一练——校门外的树
青少年编程·蓝桥杯
不見星空3 天前
2025年第十六届蓝桥杯软件赛省赛C/C++大学A组个人解题
c语言·c++·蓝桥杯
梁下轻语的秋缘3 天前
每日c/c++题 备战蓝桥杯(洛谷P1387 最大正方形)
c语言·c++·蓝桥杯