给定一数n,求n的因子数目和因子之和

上述求因子和式子等于

∏{(piei+1 - 1) / (pi - 1)}  (∏就是连乘)

模板:

  1. const int maxn = +;
  2. int prime[maxn];
  3. bool is_prime[maxn];
  4. int sieve(int n)//返回n以内素数的个数
  5. {
  6. int p = ;
  7. for(int i = ; i <= n; i++)is_prime[i] = ;
  8. is_prime[] = is_prime[] = ;
  9. for(ll i = ; i <= n; i++)
  10. {
  11. if(is_prime[i])
  12. {
  13. prime[p++] = i;
  14. for(ll j = i * i; j <= n; j += i)is_prime[j] = ;//这里涉及i*i,必须使用long long
  15. }
  16. }
  17. return p;
  18. }
  19.  
  20. ll Divisors_num(ll n, int tot)//素数总数
  21. {
  22. ll ans = ;
  23. for(int i = ; i < tot && prime[i] * prime[i] <= n; i++)
  24. {
  25. if(n % prime[i] == )
  26. {
  27. int cnt = ;
  28. while(n % prime[i] == )
  29. {
  30. cnt++;
  31. n /= prime[i];
  32. }
  33. ans *= (cnt + );
  34. }
  35. }
  36. if(n > )ans *= ;
  37. return ans;
  38. }
  39. ll pow(ll a, ll b)
  40. {
  41. ll ans = ;
  42. while(b)
  43. {
  44. if(b & )ans = ans * a;
  45. a *= a;
  46. b /= ;
  47. }
  48. return ans;
  49. }
  50. ll Divisors_sum(ll n, int tot)
  51. {
  52. ll ans = ;
  53. for(int i = ; i < tot && prime[i] * prime[i] <= n; i++)
  54. {
  55. if(n % prime[i] == )
  56. {
  57. int cnt = ;
  58. while(n % prime[i] == )
  59. {
  60. cnt++;
  61. n /= prime[i];
  62. }
  63. ans = (pow(prime[i], cnt + ) - ) / (prime[i] - ) * ans;
  64. }
  65. }
  66. if(n > )ans *= (n + );
  67. return ans;
  68. }

因子和&&因子数的更多相关文章

  1. hdu6237 分解质因子

    题意:给一堆石子,每次移动一颗到另一堆,要求最小次数使得,所有石子数gcd>1 题解:枚举所有质因子,然后找次数最小的那一个,统计次数时,我们可以事先记录下每堆石子余质因子 的和,对所有石子取余 ...

  2. haligong2016

    A 采用递推的方法,由于要到达棋盘上的一个点,只能从左边或者上边过来,根据加法原则,到达某一点的路径数目,就等于到达其相邻的上点和左点的路径数目的总和.所有海盗能达到的点将其路径数置为0即可. #in ...

  3. hdu-2421 Deciphering Password 数学姿势

    给定A,B,对于A^B的每一个因子,M为其因子的因子数的三次方求和. 容易推导得出A^B的每一个因子都是A的质因子的组合(质因子可重复利用),其因子数自然等于所使用的每个质因子的数量乘积. 假设A由质 ...

  4. 牛客OI赛制测试赛2 A 无序组数

    链接:https://www.nowcoder.com/acm/contest/185/A来源:牛客网 题目描述 给出一个二元组(A,B) 求出无序二元组(a,b) 使得(a|A,b|B)的组数 无序 ...

  5. 2018-2019 ACM-ICPC, Asia Dhaka Regional Contest C.Divisors of the Divisors of An Integer (数论)

    题意:求\(n!\)的每个因子的因子数. 题解:我们可以对\(n!\)进行质因数分解,这里可以直接用推论快速求出:https://5ab-juruo.blog.luogu.org/solution-p ...

  6. 求n的因子个数与其因子数之和

    方法一:朴素算法:O(n). #include<bits/stdc++.h> using namespace std; int get_num(int n){ ; ;i<=n;++i ...

  7. Java数据结构——平衡二叉树的平衡因子(转自牛客网)

    若向平衡二叉树中插入一个新结点后破坏了平衡二叉树的平衡性.首先要找出插入新结点后失去平衡的最小子树根结点的指针.然后再调整这个子树中有关结点之间的链接关系,使之成为新的平衡子树.当失去平衡的最小子树被 ...

  8. Divisors_组合数因子个数

    Description Your task in this problem is to determine the number of divisors of Cnk. Just for fun -- ...

  9. HDOJ(HDU) 2521 反素数(因子个数~)

    Problem Description 反素数就是满足对于任意i(0< i < x),都有g(i) < g(x),(g(x)是x的因子个数),则x为一个反素数.现在给你一个整数区间[ ...

随机推荐

  1. BaaS_后端即服务 RESTful

    码云coding API https://open.coding.net/ Swagger 官网用VPN能流畅打开,但它自己的基于web的编辑器不行 用来设计RESTful API LeanCloud ...

  2. 【3dsMax安装失败,如何卸载、安装3dMax 2014?】

    AUTODESK系列软件着实令人头疼,安装失败之后不能完全卸载!!!(比如maya,cad,3dsmax等).有时手动删除注册表重装之后还是会出现各种问题,每个版本的C++Runtime和.NET f ...

  3. querySelectorAll与childNodes

    NodeList 对象是一个节点的集合,是由 Node.childNodes 和 document.querySelectorAll 返回的. html代码: <ul id="pare ...

  4. 022-pinyin4j工具类模板

    模板一 package ${enclosing_package}; import java.util.Arrays; import net.sourceforge.pinyin4j.PinyinHel ...

  5. 手指静脉细化算法过程原理解析 以及python实现细化算法

    原文作者:aircraft 原文地址:https://www.cnblogs.com/DOMLX/p/8672489.html 文中的一些图片以及思想很多都是参考https://www.cnblogs ...

  6. NBUT 1107——盒子游戏——————【博弈类】

    盒子游戏 Time Limit:1000MS     Memory Limit:65535KB     64bit IO Format: Submit Status Practice NBUT 110 ...

  7. BlackLowKey主题CSS

    /* Minification failed. Returning unminified contents. (151,61): run-time error CSS1062: Expected se ...

  8. 错误:38-Corel VideoStudio文件已损坏或被修改。请重新安装原始来源解决方法。

    打开 Corel VideoStudio Pro X5(绘声绘影)弹出一下警告. 错误:38-Corel VideoStudio文件已损坏或被修改.请重新安装原始来源解决方法. [第一方法]:控制面板 ...

  9. C# HashTable 使用用法详解

    C#中如何操作HashTable类呢?本文将给你答案,哈希表(Hashtable)简述在.NET Framework中, 一,Hashtable是System.Collections命名空间提供的一个 ...

  10. App调用safar

    /调用safar打开网页 [[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"http://www.cnblo ...