Luogu ブラシの質問 C++ 言語 | P1217 回文素数

赤ちゃんからC++を学ぼう!Luogu C++ の学習とテスト準備の過程での質問を記録し、あらゆる瞬間を記録します。

概要の投稿を添付します: Luogu Brush の質問 C++ 言語 | 概要


【説明】

151 は素数であり回文でもあるため (左から右でも右から左でも同じように見えます)、151 は回文素数です。

[ a , b ](5≤ a < b ≤100,000,000) (1 億) の範囲内のすべての回文素数を見つけるプログラムを作成します。

【入力】

最初の行では、2 つの正の整数 a および bを入力します。

【出力】

回文素数のリストを 1 行に 1 つずつ出力します。

【入力例】

5 500

【出力例】

5 7 11 101 131 151 181 191 313 353 373 383

【コード説明】

#include <bits/stdc++.h>
using namespace std;

bool isPalindrome(int n) {
    int s=0, k=n;
    while (k!=0) {
        s *= 10;
        s += k%10;
        k /= 10;
    }
    if (s==n) return true;
    return false;
}

bool isPrime(int n) {
    for (int i=3; i<=sqrt(n); i=i+2) {
        if (n%i==0) return false;
    }
    return true;
}

int main()
{
    int a, b;
    cin >> a >> b;
    if (a%2==0) a++;
    if (b>10000000) b = 10000000;
    for (int i=a; i<=b; i=i+2) {
        if (isPalindrome(i) && isPrime(i)) {
            cout << i << endl;
        }
    }
    return 0;
}

【運用結果】

5 500
5
7
11
101
131
151
181
191
313
353
373
383

Supongo que te gusta

Origin blog.csdn.net/guolianggsta/article/details/132628220
Recomendado
Clasificación