C++OJ题找出所有三位素数

题目描述

一个n位超级素数是指一个n位正整数,它的前1位,前2位,......,前n位均为素数,例如,733是个3位超级素数,因为7,73,733均为素数。输出全部的3位数超级素数。

输入

输出

全部的3位数超级素数,每行一个数

c++

2个回答

#include <stdio.h>

int isprime(int x)
{
    if (x == 0 || x == 1) return 0;
    for (int i = 2; i <= x / 2; i++)
        if (!(x % i)) return 0;
    return 1;
}

int isallprime(int x)
{
    do
    {
        if (!isprime(x)) return 0;
        x /= 10;
    }
    while (x > 0);
    return 1;
}

int main()
{
    for (int i = 111; i < 999; i++)
        if (isallprime(i)) printf("%d\n", i);
}

233
239
293
311
313
317
373
379
593
599
719
733
739
797

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问