在使用python解决问题之前,我们先说一下,什么是素因子分解 所谓素因子分解就是,先找这个数的所有约数(约数即:a%b == 0,也就是a可以被b整除) 例如:20的约数集合为 [1, 2, 5, 10, 20] 那么素因子分解呢? 就是从最小的素数约数开始除,也就是这个除数要满足两个条件,一是约 ...
分类:
编程语言 时间:
2017-06-26 23:57:37
阅读次数:
323
求给定整数的所有素因子 1. 题目:求给定整数的所有素因子 2. 要求:输入一个整数,求出其所有素因子,并表现为乘积方式,求因子的算法用子程序来实现。例如,输入480,输出480=2*2*2*2*2*3*5 C++代码如下 1 //The program is to find all the pri ...
分类:
编程语言 时间:
2017-06-20 22:20:59
阅读次数:
222
【POJ 1845】 Sumdiv 用的东西挺全 最主要通过这个题学了约数和公式跟二分求等比数列前n项和 另一种小优化的整数拆分 整数的唯一分解定理: 随意正整数都有且仅仅有一种方式写出其素因子的乘积表达式。 A=(p1^k1)*(p2^k2)*(p3^k3)*....*(pn^kn) 当中pi均为 ...
分类:
其他好文 时间:
2017-06-16 11:22:14
阅读次数:
220
题目链接:HDU 5317 RGCDQ 题意:定义函数F(x)为x的不同的素因子且小于等于x的个数。询问[l,r]区间中gcd(F(i),F(j))的最大值。 思路:暴力预处理出全部的合数分解结果。发现F(x)最大也仅仅有7。之后就是暴力求出全部1到7出现次数的前缀和。询问的时候就打到O(1)了。 ...
分类:
其他好文 时间:
2017-06-07 14:31:36
阅读次数:
149
求小于n且与n互质的整数的个数。告诉你n的唯一分解式 我们可以运用容斥原理,先分别减去是p1,p2,p3..pn的倍数,再加上同时是他们素因子的个数,再减去3个……以此类推即可。 我们可以化简一下公式:f(x)=x*(1-1/p1)*(1-1/p2).....,其中p1,p2.....是n的素因子。 ...
分类:
其他好文 时间:
2017-06-07 10:17:06
阅读次数:
268
【题目链接】click here~~ 【题目大意】求LCM(Cn0,Cn1,Cn2....Cnn)%MOD 的值 【思路】来图更直观: 这个究竟是怎样推出的,说实话。本人数学归纳大法没有推出来,幸得一个大神给定愿文具体证明,点击这里:click here~~ 代码: #include <bits/s ...
分类:
其他好文 时间:
2017-06-06 10:42:19
阅读次数:
135
给定一个素数集合 S = { p[1],p[2],...,p[k] },大于 1 且素因子都属于 S 的数我们成为丑数(Humble Numbers or Ugly Numbers),记第 n 大的丑数为 h[n]。 算法 1: 一种最容易想到的方法当然就是从 2 开始一个一个的判断一个数是否为丑数 ...
分类:
其他好文 时间:
2017-06-04 23:03:05
阅读次数:
741
题目:一个数能够用一种素数元素的个数表示的形式,43560=23×32×51×112表示成41223; 第一个数是素因子的种类,第二个是每一个素因子的个数递增排列。给你一个这样的形式的串, 问原来的数可能有几种情况。 分析:数论,计数原理,组合数学。 对于每一个串,第一个数字一定是素因子的种类数。 ...
分类:
其他好文 时间:
2017-05-15 10:04:39
阅读次数:
163
思路: 如果我们要筛出 [1, n] 内的所有素数,使用 [1, √n] 内的素数去筛就可以了 设bool型数组 a,a[i] 表示 i 是否被某个素数筛过 从 2 开始枚举每个数 i: 若 a[i] = false,表示 i 没有更小的素因子,从而知道 i 是素数。枚举 i 的所有倍数 j,令 a ...
分类:
其他好文 时间:
2017-05-04 20:04:16
阅读次数:
166
/** 题目:Help Tomisu UVA - 11440 链接:https://vjudge.net/problem/UVA-11440 题意:给定正整数N和M, 统计2和N!之间有多少个整数x满足,x的所有素因子都大于M (2M;那么x与M!互质。 根据最大公约数的性质,对于x>y,x与y互质... ...
分类:
其他好文 时间:
2017-04-26 16:46:00
阅读次数:
294