[C++]伯俊1990号:少数のパリンドロン
質問リンク
1990号:少数のパリンドロン
問題の概要
aからbまでは少数として,すべてのファリンドロン係数を出力しなければならない。
方法
aからbまでの数字を1つずつレコーダーかどうかをチェックし、小数点以下かどうかをチェックするようにアクセスすればTLEが得られます.Bの最高値は1億だが、時間は1秒しかない.
だから私も何度かTLEを受け取って、私が書いたコードに50000000と入力しました.結果はすぐに9989899に出力された.しかしその後しばらくは何も出力されず、-1が出力される.すなわち,MIN(b,9989899)MIN(b,9989899)MIN(b,9989899)MIN(b,998989899)を調べるだけでよい.
コード#コード#
#include <bits/stdc++.h>
using namespace std;
int main(void)
{
ios::sync_with_stdio(false);
cin.tie(0);
cout.tie(0);
int a, b;
cin >> a >> b;
for (int i = a; i <= min(b, 9989899); i++)
{
string str = to_string(i);
bool flag = false;
for (int j = 0; j < str.size() / 2; j++)
{
if (str[j] != str[str.size() - j - 1])
{
flag = true;
break;
}
}
if (flag)
continue;
for (int j = 2; j <= sqrt(i); j++)
{
if (i % j == 0)
{
flag = true;
break;
}
}
if (!flag)
cout << i << '\n';
}
cout << -1 << '\n';
return 0;
}
Reference
この問題について([C++]伯俊1990号:少数のパリンドロン), 我々は、より多くの情報をここで見つけました https://velog.io/@beclever/C-백준-1990번-소수인팰린드롬テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol