#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
#include<math.h>
int main()
{
long int t = 20210605,i=1,j,f;
int sum = 0; //计数器
for (i = 2;i <= t;i++) {
f = i; //用变量f代替i
for (j = 2;j <= sqrt(i);j++)if (i%j == 0)break; //判断i是否为质数
if (j > sqrt(i)) { //i是质数
while (f != 0) {
if (f % 10 == 3 || f % 10 == 7 || f % 10==2 || f % 10==5) { //遍历每一位是否为质数
f /= 10;
}
else break;
}
}
if (f == 0)sum++;
}
printf("%d", sum);
return 0;
}
答案:1903