根号n的时间内求一个数的所有因子数

#include<bits/stdc++.h>
using namespace std;
int main() {int a;      //分解a的因子数int b[100005];  // 将a的所有因子数保存在b数组 scanf("%d",&a);int z=0;for(int i=1;i*i<=a;i++) {if(a%i==0) {b[z++]=i;    if(i!=a/i)      //两个因子数不相等则保存下来b[z++]=a/i;   }    }sort(b, b+z);  //将因子数从小到大排序然后输出for(int i=0;i<z;i++) {printf("%d ",b[i]);} return 0;
}

这样便可以在sqrt(n)(根号n)时间内求出一个数的所有因数并输出

下面的代码则也是在sqrt(n)求一个数的所有因子总个数(不重复),和上面代码类似

#include<bits/stdc++.h>
using namespace std;
int main() {int a;scanf("%d",&a);int ans=0;     //ans是求a所有因子数的总个数 for(int i=1;i*i<=a;i++) {     if(a%i==0) {   ans++;if(i!=a/i) {     //两个因子数不相等ans++;}}}printf("%d\n",ans); return 0;
}

如何快速求一个数的所有因子数 c/c++相关推荐

  1. 快速求幂(Quick Exponentiation)

    接触ACM没几天,向各路大神求教,听说ACM主要是研究算法,所以便开始了苦逼的算法学习之路.话不多说,RT所示,学习快速求幂. 在头文件<math.h>或是<cmath>中,d ...

  2. java小数点默认定义_java求两个数后小数点默认无限长度

    闲来没事,写个求两个数相除,想看看后面的小数,此算法可快速算出小数点后千万位. import java.io.BufferedWriter; import java.io.File; import j ...

  3. 原根(详解+代码实现+例题+快速求解一个数的原根)

    1.原根定义 假设一个数g对于P来说是原根,那么g^i mod P的结果两两不同,且有 1<g<P, 1<i<P,那么g可以称为是P的一个原根 简单来说,g^i mod p ≠ ...

  4. 【GDOI 2011 DAY2 T3】零什么的最讨厌了 (快速求阶乘、中国剩余定理)

    问题描述: 林记在做数学习题的时候,经常遇到这种情况:苦思冥想了很久终于把问题解出来,结果发现答案是0,久而久之林记在得到习题答案是0的时候就没有了做出一道难题的成就感.于是林记决定:以后出题,答案一 ...

  5. 算法:求两个数最大公约数

    算法:求两个数最大公约数 原来这是欧几里德先生的发明,无知了,在此记录. #Python 求两数最大公约数 def gcd(a,b):if b == 0:return areturn gcd(b,a% ...

  6. 欧拉函数求互质数个数

    求解与n(1-n-1)互质的质因子的个数 解析: 定义:对于正整数n,φ(n)是小于或等于n的正整数中,与n互质的数的数目. 例如:φ(8)=4,因为1,3,5,7均和8互质. 性质:1.若p是质数, ...

  7. python求三个数平均值_python求三个数平均值

    本文收集整理关于python求三个数平均值的相关议题,使用内容导航快速到达. 内容导航: Q1:利用python3.x计算任意数据平均值 l=[1,2,3]def ave(a):print(sum(a ...

  8. java 平均值_Java求两个数平均值

    如何正确的求2个数的平均值.在练习算法二分查找的时候发现的,以前没有注意到的bug 备注:数据以int类型为例 一.以前的通用写法 /** * 求a+b平均值 * @param a * @param ...

  9. 质因数 求约数 c语言,【初等数论】 求一个数有多少约数及所有约数之和、分解质因数...

    今天做题遇见,于是就搜了一下,于是就有了这篇文章.(其实我不知道原理....Orz)我觉得分解质因数的最优算法应该不是我这篇文章中的这个.....谁有好的算法可以给我说一下,谢谢. 1.有多少个约数: ...

  10. VBA实现矩阵快速求幂

    不管求一个数的幂还是矩阵的幂,比如a^16,把a做15次乘法是最容易想到的方法,但这样效率特别低.其实可以先算出a^2,其平方就是a^4,再平方就是a^8,最后平方一次,就是a^16,只要4次乘法就够 ...

最新文章

  1. 关于text段、data段和bss段
  2. 面试官:MySQL 表设计要注意什么?
  3. 彻底解决SQL SERVER 2008无法远程连接的问题
  4. 多视图立体几何PatchMatchStereo:DSI与Cost Volume
  5. Robust 源代码分析之gradle-plugin
  6. 【solr专题之二】配置文件:solr.xml solrConfig.xml schema.xml
  7. resize函数缩小图片的尺寸 车辆检测
  8. server2008中如何关闭internet explorer增强的安全配置
  9. 孙学京:我的大学在编程,练琴,听摇滚乐和专业课中度过
  10. opengl AUX_RGBImageRec
  11. 第二批鸿蒙手机排行,鸿蒙系统第二批升级机型有哪些 鸿蒙系统第二批升级机型名单一览...
  12. 4大要点搞定企业私有云建设
  13. C语言排序名单(字典)
  14. jQuery Validate 表单验证插件----Validate简介,官方文档,官方下载地址
  15. QT_继承ApplicationWindow控件的C++与QML交互
  16. 「轻阅读」基于 Flink SQL CDC的实时数据同步方案,附视频教程
  17. linux高级技巧:rsync同步(二)
  18. 转载一份anjuta教程
  19. 支付宝交易行为数据分析
  20. 关于使用克莱姆法则和矩阵消元法解线性方程组的效率的比较

热门文章

  1. 手机连接笔记本开启的WiFi一直显示正在获取IP中
  2. 车厢调度(信息学奥赛一本通 - T1357)
  3. vue项目中对于Scroll事件的节流优化
  4. Android 带裁剪功能的照片处理方法
  5. MATLAB三维图像与三重积分
  6. 一个人靠不靠谱,在于能力是否配得上承诺
  7. 系统文件IO与标准文件IO
  8. 滥用exchage远程调用域管理员API接口
  9. 怎么查二手苹果手机价格
  10. flexbox的基本概念