编程题
### 问题描述 到周末啦!但是小蓝却开心不起来。因为妈妈给小蓝报了英语班、作文班、奥数班、钢琴班...... 上课就算了,课后作业还又多又难。这不,小蓝又碰到了一个难题,他已经花了一个小时了还没做出来,再做不出来今天就没时间玩了。 你能帮助小蓝做出这道题,让他好好出去玩吗? 题目:给定一个正整数 $k$,有 $k$ 次询问,每次给定三个正整数 $n$, $e$, $d$,求两个正整数 $p$,$q$,使 $n$ $=$ $p$ $×$ $q$,$e$ $×$ $d$ $=$ $(p−1)(q−1) + 1$。 ### 输入格式 第一行一个正整数 $k$,表示有 $k$ 次询问。 接下来 $k$ 行,每行三个正整数 $n$,$d$,$e$。 ### 输出格式 输出 $k$ 行,每行两个正整数 $p$,$q$ 表示答案。 为使输出统一,你应当保证 $p \leq q$。 如果无解,请输出 $NO$。 ### 样例输入 ```text 10 770 77 5 633 1 211 545 1 499 683 3 227 858 3 257 723 37 13 572 26 11 867 17 17 829 3 263 528 4 109 ``` ### 样例输出 ```text 2 385 NO NO NO 11 78 3 241 2 286 NO NO 6 88 ``` ### 说明 在样例中,对于 $1,5,6,7,10$ 次询问,都有 $n$ $=$ $p$ $×$ $q$,$e$ $×$ $d$ $=$ $(p−1)(q−1) + 1$ 其余询问,无解。 ### 评测数据规模 对于 $100$% 的评测数据,$1\leq k \leq 1\times 10^5$,$1\leq n \leq 1\times 10$18,$1\leq k \leq 1\times 10$18
查看答案
赣ICP备20007335号-2