[原创]BestCoder Round #84 &&HDU 5750 Dertouzos 【数论 + 暴力】
2016-07-23 23:14:02 Tabris_ 阅读数:871
博客爬取于 2020-06-14 22:44:07
以下为正文
版权声明:本文为 Tabris 原创文章,未经博主允许不得私自转载。
https://blog.csdn.net/qq_33184171/article/details/52008038
题目连接:http://acm.hdu.edu.cn/showproblem.php?pid=5750
-----------------------------------------.
Dertouzos Accepts: 76 Submissions: 1357
Time Limit: 7000/3500 MS (Java/Others) Memory Limit: 131072/131072 K (Java/Others)
问题描述
正整数x称为n的 positive proper divisor, 当且仅当x | n并且 $1 \le x < n$. 例如, 1, 2, 和 3 是 6 的 positive proper divisor, 但是 6 不是。
Peter 给你两个正整数n和d. 他想要知道有多少小于n的整数, 满足他们的最大 positive proper divisor 恰好是d.
输入描述
输入包含多组数据, 第一行包含一个整数T (1 \le T \le 10^6)表示测试数据组数。 对于每组数据:
第一行包含两个整数n和d (2 \le n, d \le 10^9)
输出描述
对于每组数据, 输出一个整数。
输入样例
9
10 2
10 3
10 4
10 5
10 6
10 7
10 8
10 9
100 13
输出样例
1
2
1
0
0
0
0
0
4
----------------------------------------------------.
题目大意: 自己看
解题思路:
首先要明确的是 NM 的最大因子为 N 的时候只有 M 为素数 且 M<=N 的最小素因子的时候 ;
试想 N=p_1^{a_1}*p_2^{a_2}*p_3^{a_3}*p_4^{a_4}* …… *p_n^{a_n} ; (p[i] < p[i+1])
如果 M 不是素数那么 M=XY,NM 的因子中 就多了 NX 和 NY 均比 N 大 所以不成立
如果 M>p1 (假设所有的 ai 均为 1)那么 N M 的因子中 就多了 M * p_2 * p_3 * p_4 * …… *p_n 一定大于 p_1 * p_2 * p_3 * p_4 * …… *p_n 所以也不成立 至于某个a_i>1的时候同理
也不行
所以先打出 sqrt(1e9)内的所有素数
然后暴力找即可
1 | for(int i=0;i<k;i++) |
k 值不到 1e4 加上题目 3500ms 就能过了
附上本题代码
----------------------------------------------------------.
1 | # include <iostream> |


