http://lightoj.com/volume_showproblem.php?problem=1236 Pairs Forming LCM Time Limit:2000MS     Memory Limit:32768KB     64bit IO Format:%lld & %llu Submit Status Practice LightOJ 1236 Description Find the result of the following code: long long pairs…
B - Pairs Forming LCM Time Limit:2000MS     Memory Limit:32768KB     64bit IO Format:%lld & %llu Submit Status Practice LightOJ 1236 Description Find the result of the following code: long long pairsFormLCM( int n ) {    long long res = 0;    for( in…
链接: https://vjudge.net/problem/LightOJ-1236 题意: Find the result of the following code: long long pairsFormLCM( int n ) { long long res = 0; for( int i = 1; i <= n; i++ ) for( int j = i; j <= n; j++ ) if( lcm(i, j) == n ) res++; // lcm means least co…
题目链接:http://lightoj.com/volume_showproblem.php?problem=1236 题意:给你一个数n,求有多少对(i,  j)满足 LCM(i, j) = n, (i<=j),  n <= 1e14: 之前做的那道LightOj 1215 中有说过:LCM(x, y) = ∏(所有质因子幂高的项之积); 那么本题就先把n分解质因子幂的形式,即 n = p1a1*p2a2*...*pkak;(pi为质数) 现在先不管i和j的大小,当 i 中包含因子p1a1时…
题目链接: http://lightoj.com/login_main.php?url=volume_showproblem.php?problem=1236 题意: 找与n公倍数为n的个数. 分析: 依然是整数分解的问题.找到每个数的质因子,组合一下就好. 注意两个数中,对于每一个质因子,至少有一个数的该质因子的幂数与n相同..所以每个质因子有2∗(b+1)−1种可能. 最后不要忘记加上1∗n的情况.. 代码: #include <iostream> using namespace std;…
题意:求所有小于等于n的,x,y&&lcm(x,y)==n的个数 分析:因为n是最小公倍数,所以x,y都是n的因子,而且满足这样的因子必须保证互质,由于n=1e14,所以最多大概在2^13个因子 即8000多因子 所以每次可以递归暴力寻找一个因子,然后选好了以后,看唯一分解不同种素数还有哪种没有用,符合条件的只能用这些没有用过的,然后直接统计 注:由于最终每个对都被统计了两次,所以/2,由于本身也算一对,所以+1 代码: #include <cstdio> #include &…
题目大意: 有一个数n,满足lcm(i,j)==n并且i<=j时,(i,j)有多少种情况? 解题思路: n可以表示为:n=p1^x1*p2^x1.....pk^xk. 假设lcm(a,b) == n: a = p1^c1 * p2^c2 ..... pk^ck. b = p1^e1 * p2^e2 .... pk^ek. xi = max(ci, ei). 对于有序数对(a,b),有唯一分解定理知,每一个素因数的幂都决定了一个独一无二的数. 求(a,b)的种数就可以转化为求(ci,ei)的种数:…
1236 - Pairs Forming LCM   Find the result of the following code: long long pairsFormLCM( int n ) {    long long res = 0;    for( int i = 1; i <= n; i++ )        for( int j = i; j <= n; j++ )           if( lcm(i, j) == n ) res++; // lcm means least…
题目链接:http://lightoj.com/volume_showproblem.php?problem=1236 题意很好懂,就是让你求lcm(i , j)的i与j的对数. 可以先预处理1e7以内的素数,然后用来筛选出能被n整除的所有的素数以及素数的个数,时间复杂度是小于根号的.然后用DFS或者BFS选出所有的约数(不会很大). 现在要是直接2个for利用gcd筛选lcm(x,y)==n的个数的话肯定超时,所以这里把每个素数看作一个位,比如:2 3 5这3个素因子,那我2可以看作2进制上的…
http://lightoj.com/volume_showproblem.php?problem=1236 题目大意: 给你一个数n,让你求1到n之间的数(a,b && a<=b)两个数的最小公倍数等于n有多少对这样的ab. 分析都写在图片上了,费了我好大的事呢 ac代码 #include<stdio.h> #include<string.h> #include<stdlib.h> #include<algorithm> #inclu…