确定进制

Luogu
IDLGB2141
Time1000ms
Memory128MB
DifficultyP2
函数与递归
$6 \times 9=42$ 对于十进制来说是错误的,但是对于 $13$ 进制来说是正确的。即 $6_{(13)} \times 9_{(13)}=42_{(13)}$,而 $42_{(13)}=4 \times 13^1+2 \times 13^0=54_{(10)}$。 你的任务是写一段程序读入三个整数 $p,q$ 和 $r$,然后确定一个进制 $B(2 \le B \le 16)$ 使得 $p\times q=r$。如果 $B$ 有很多选择,则输出最小的一个。 例如:$p=11,q=11,r=121$,则有 $11_{(3)} \times 11_{(3)}=121_{(3)}$,因为 $11_{(3)}=1 \times 3^1+1 \times 3^0=4_{(10)}$ 和 $121_{(3)}=1 \times 3^2+2 \times 3^1+1 \times 3^0=16_{(10)}$。对于进制 $10,$ 有 $11_{(10)} \times 11_{(10)}=121_{(10)}$。这种情况下,应该输出 $3$。如果没有合适的进制,则输出 $0$。 ## Input 一行,包含三个整数 $p,q,r$,相邻两个整数之间用单个空格隔开。 ## Output 一个整数:即使得 $p \times q=r$ 成立的最小的 $B$。如果没有合适的 $B$,则输出 $0$。 [samples] ## Note $p,q,r$ 的所有位都是数字,并且 $1 \le p,q,r \le 10^6$。
Samples
Input #1
6 9 42
Output #1
13
API Response (JSON)
{
  "problem": {
    "name": "确定进制",
    "description": {
      "content": "$6 \\times 9=42$ 对于十进制来说是错误的,但是对于 $13$ 进制来说是正确的。即 $6_{(13)} \\times 9_{(13)}=42_{(13)}$,而 $42_{(13)}=4 \\times 13^1+2 \\times 13^0=54_{(10)}$。 你的任务是写一段程序读入三个整数 $p,q$ 和 $r$,然后确定一个进制 $B(2 \\le B \\le 16)$ 使得",
      "description_type": "Markdown"
    },
    "platform": "Luogu",
    "limit": {
      "time_limit": 1000,
      "memory_limit": 131072
    },
    "difficulty": {
      "LuoguStyle": "P2"
    },
    "is_remote": true,
    "is_sync": true,
    "sync_url": null,
    "sign": "LGB2141"
  },
  "statements": [
    {
      "statement_type": "Markdown",
      "content": "$6 \\times 9=42$ 对于十进制来说是错误的,但是对于 $13$ 进制来说是正确的。即 $6_{(13)} \\times 9_{(13)}=42_{(13)}$,而 $42_{(13)}=4 \\times 13^1+2 \\times 13^0=54_{(10)}$。\n\n你的任务是写一段程序读入三个整数 $p,q$ 和 $r$,然后确定一个进制 $B(2 \\le B \\le 16)$ 使得...",
      "is_translate": false,
      "language": "English"
    }
  ]
}
Full JSON Raw Segments