HDU 4497 GCD and LCM (分解质因数)
链接 :
http://acm.hdu.edu.cn/showproblem.php?pid=4497
假设G不是L的约数 就不可能找到三个数。
L的全部素因子一定包括G的全部素因子 而且次方数一定大于等于G的。仅仅须要三个数 对于每个素因子的次方数 三个的最小值是G的,最大值是L的。考虑三个相应的次方数都不一样。那么当中两个是确定的 一个是G的一个是L的 剩下的一个在G和L的之间。
算上排列 总共同拥有6种。或者当中两个是一样的,那么也有6种情况。
最后能够合并计算。
//#pragma comment(linker, "/STACK:10240000,10240000")
#include <algorithm>
#include <iostream>
#include <sstream>
#include <cstring>
#include <cstdlib>
#include <cstdio>
#include <vector>
#include <cmath>
#include <queue>
#include <stack>
#include <set>
#include <map>
#define mod 4294967296
#define MAX 0x3f3f3f3f
#define lson o<<1, l, m
#define rson o<<1|1, m+1, r
#define SZ(x) ((int)ans.size())
#define MAKE make_pair
#define INFL 0x3f3f3f3f3f3f3f3fLL
#define mem(a) memset(a, 0, sizeof(a))
const double pi = acos(-1.0);
const double eps = 1e-9;
const int N = 200005;
const int M = 20005;
typedef __int64 ll;
using namespace std; ll a, b;
struct C {
ll num, cnt;
} s[N], t[N];
int T; int Ini(ll a, C* f) {
int tmp = sqrt(1.0*a + 0.5), e = 0;
for(int i = 2; i <= tmp; i++) {
if(a % i == 0) {
int k = 0;
while(a % i == 0) {
k++;
a /= i;
}
f[e].num = i;
f[e++].cnt = k;
}
}
if(a != 1) {
f[e].cnt = 1;
f[e++].num = a;
}
return e; } int main() { //freopen("in.txt","r",stdin);
cin >> T;
while(T--) {
cin >> a >> b;
if(b % a) {
puts("0");
continue;
}
mem(s);
mem(t);
int n = Ini(a, s);
int m = Ini(b, t); ll ans = 1, x;
int fr = 0;
for(int i = 0; i < m; i++) {
if(t[i].num == s[fr].num) {
x = t[i].cnt - s[fr].cnt;
fr++;
if(x) ans *= x * 6;
} else ans *= t[i].cnt * 6; }
cout << ans << endl;
}
return 0;
}
HDU 4497 GCD and LCM (分解质因数)的更多相关文章
- HDU 4497 GCD and LCM (合数分解)
GCD and LCM Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65535/65535 K (Java/Others)Total ...
- hdu 4497 GCD and LCM 数学
GCD and LCM Time Limit: 20 Sec Memory Limit: 256 MB 题目连接 http://acm.hdu.edu.cn/showproblem.php?pid=4 ...
- HDU 4497 GCD and LCM (数论)
题意:三个数x, y, z. 给出最大公倍数g和最小公约数l.求满足条件的x,y,z有多少组. 题解:设n=g/l n=p1^n1*p2^n2...pn^nk (分解质因数 那么x = p1^x1 * ...
- HDU 4497 GCD and LCM(数论+容斥原理)
GCD and LCM Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65535/65535 K (Java/Others)Total ...
- 数论——算数基本定理 - HDU 4497 GCD and LCM
GCD and LCM Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65535/65535 K (Java/Others)Total ...
- hdu 4497 GCD and LCM (非原创)
GCD and LCM Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65535/65535 K (Java/Others)Total ...
- HDU 4497 GCD and LCM(分解质因子+排列组合)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4497 题意:已知GCD(x, y, z) = G,LCM(x, y, z) = L.告诉你G.L,求满 ...
- HDU 4497 GCD and LCM (数学,质数分解)
题意:给定G,L,分别是三个数最大公因数和最小公倍数,问你能找出多少对. 析:数学题,当时就想错了,就没找出规律,思路是这样的. 首先G和L有公因数,就是G,所以就可以用L除以G,然后只要找从1-(n ...
- hdu 4497 GCD and LCM 质因素分解+排列组合or容斥原理
//昨天把一个i写成1了 然后挂了一下午 首先进行质因数分解g=a1^b1+a2^b2...... l=a1^b1'+a2^b2'.......,然后判断两种不可行情况:1,g的分解式中有l的分解式中 ...
随机推荐
- LeetCode: Combination Sum 解题报告
Combination Sum Combination Sum Total Accepted: 25850 Total Submissions: 96391 My Submissions Questi ...
- LeetCode: Gray Code 解题报告
Gray CodeThe gray code is a binary numeral system where two successive values differ in only one bit ...
- java 中的 ThreadLocal
首先,ThreadLocal 不是用来解决共享对象的多线程访问问题的,一般情况下,通过ThreadLocal.set() 到线程中的对象是该线程自己使用的对象,其他线程是不需要访问的,也访问不到的.各 ...
- 一款基jquery超炫的动画导航菜单
今天给大家分享一款基jquery超炫的动画导航菜单.这款导航菜单,初始时页面中间一个按钮,单击按钮,菜单从左侧飞入页中.再次单击按钮,导航飞入左侧消息.动画效果很非常炫.一起看下效果图: 在线预览 ...
- 访问控制列表-基于IP
[总结] 在交换机1上划分vlan然后把fa0/1接口设置为trunk周围几个接口都设置为access.在RA上划分四个逻辑口(就是小数点的那些接口).然后RA和RB都做ospf就可以ping同. 最 ...
- C语言 · 判定字符位置
算法训练 6-3判定字符位置 时间限制:1.0s 内存限制:512.0MB 返回给定字符串s中元音字母的首次出现位置.英语元音字母只有‘a’.‘e’.‘i’.‘o’.‘u’五个. 若 ...
- KafkaStream时间戳问题CreateTime = -1引起的程序中断
Exception in thread "app-8835188a-e0a0-46da-ac2a-6820ec197628-StreamThread-1" org.apache.k ...
- pku1204 Word Puzzles AC自动机 二维字符串矩阵8个方向找模式串的起点坐标以及方向 挺好的!
/** 题目:pku1204 Word Puzzles 链接:http://poj.org/problem?id=1204 题意:给定一个L C(C <= 1000, L <= 1000) ...
- import_tasks: tasks/sometasks.yml
- import_tasks: tasks/sometasks.yml when: "'reticulating splines' in output" unarchive模块用 ...
- Keypress - 捕获键盘输入的JavaScript库
Keypress 是一个强大的 JavaScript 库,用于捕获键盘输入.这是一个有非常特殊的功能的输入捕获库,它是很容易掌握和使用,并且不依赖第三方库.在网站开发中,经常会碰到需要处理键盘输入的场 ...