[语言月赛 202410] 寻找质数

Luogu
IDLGB4046
Time1000ms
Memory512MB
DifficultyP2
2024循环结构语言月赛
称一个数 $x$ 是**孤独数**,当且仅当 $x$ 是质数且 $x$ 除以 $m$ 的余数是 $r$。 给出正整数 $ n,m,r,k$,求 $1\sim n$ 内第 $k$ 大的孤独数。若不存在输出 $-1$。 例如,$3,5,11,7$ 这四个数中,从大到小排序时 $7$ 是第 $2$ 名,那么我们说 $7$ 是第二大的。 ## Input 输入一行四个正整数 $n,m,r,k$,含义见题目描述。 ## Output 输出一行一个整数表示 $1\sim n$ 内第 $k$ 大的孤独数,若不存在则输出 $-1$。 [samples] ## Note 【样例 1 解释】 当 $m=3,r=2$ 时,一个数是孤独数当且仅当其是质数,并且除以 $3$ 的余数为 $2$。 $1\sim 20$ 的质数有 $2,3,5,7,11,13,17,19$,其中孤独数有 $2,5,11,17$。 要求 $1\sim 20$ 内第 $2$ 大的孤独数,根据上面列举出的结论,答案是 $11$。 【样例 2 解释】 除以 $6$ 余 $4$ 的数一定是偶数,并且不等于 $2$,所以一定不是质数。因此,此时不存在孤独数,也就不存在第 $1$ 大的孤独数。 【样例 3 解释】 $1\sim 97$ 内的孤独数从大到小排序依次为 $97,67,47,37,17,7$,其中第 $6$ 大的孤独数为 $7$。 【数据范围】 本题共 $10$ 个测试点,每个 $10$ 分。 对于测试点 $1,2$,保证 $m=n$。 对于测试点 $1\sim 5$,保证 $k=1$。 对于全部测试点,保证 $1\le k\le n\le 10000$,$1\le r<m\le n$。
Samples
Input #1
20 3 2 2
Output #1
11
Input #2
10000 6 4 1
Output #2
-1
Input #3
97 10 7 6
Output #3
7
API Response (JSON)
{
  "problem": {
    "name": "[语言月赛 202410] 寻找质数",
    "description": {
      "content": "称一个数 $x$ 是**孤独数**,当且仅当 $x$ 是质数且 $x$ 除以 $m$ 的余数是 $r$。 给出正整数 $ n,m,r,k$,求 $1\\sim n$ 内第 $k$ 大的孤独数。若不存在输出 $-1$。 例如,$3,5,11,7$ 这四个数中,从大到小排序时 $7$ 是第 $2$ 名,那么我们说 $7$ 是第二大的。",
      "description_type": "Markdown"
    },
    "platform": "Luogu",
    "limit": {
      "time_limit": 1000,
      "memory_limit": 524288
    },
    "difficulty": {
      "LuoguStyle": "P2"
    },
    "is_remote": true,
    "is_sync": true,
    "sync_url": null,
    "sign": "LGB4046"
  },
  "statements": [
    {
      "statement_type": "Markdown",
      "content": "称一个数 $x$ 是**孤独数**,当且仅当 $x$ 是质数且 $x$ 除以 $m$ 的余数是 $r$。\n\n给出正整数 $ n,m,r,k$,求 $1\\sim n$ 内第 $k$ 大的孤独数。若不存在输出 $-1$。\n\n例如,$3,5,11,7$ 这四个数中,从大到小排序时 $7$ 是第 $2$ 名,那么我们说 $7$ 是第二大的。\n\n## Input\n\n输入一行四个正整数 $n,m,r,k$,含...",
      "is_translate": false,
      "language": "English"
    }
  ]
}
Full JSON Raw Segments