赤ちゃんから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