数论——分解质因数

记录一道关于数论的题目,题目本身不难,主要是学习一下思想~


文章目录

  • 数论——分解质因数
  • 思路
  • 代码
  • 总结

思路

根据算术基本定理又称唯─分解定理,对于任何一个合数,我们都可以用几个质数的幂的乘积来表示。
如:
12 = 2^2 * 3
20 = 2^2 * 5
30 = 2 * 3 * 5
接下来我们利用这个公式分解质因数。
设一个质数为p,如果 n % p == 0,那么p就是n的一个质因数,接下来就是求p的指数,我们让n = n / p , 这样就从n中剔除了一个p,接着重复上述两步,直到 n % p != 0

代码

/**
* 注意:以上代码中for循环的结束条件也是i <= n / i,因为根据公式,最多只可能有一个质因数是大于 根号n,
* 因为有两个的话,乘积肯定超过n了。所以当for循环结束后判断n是否大于1,如果大于就说明有一个大于 根号n 的质因数。
*/

public class Main {public static void prime(int n) {for (int i = 2; i <= n / i; i++) {//即i*i<=nint a = 0, b = 0;while (n % i == 0) {a = i;n /= i;b++;}if (b > 0)System.out.println("质因数之一: " + a + " 的 " + b + " 次方");}if (n > 1) System.out.println("有一个大于根号n 的质因数:" + n);}public static void main(String[] args) {prime(30);}
}

总结

初学数论,多积累思想和经验很重要!

文章粗浅,希望对大家有帮助!

分解质因数(java)相关推荐

  1. java实现将一个正整数分解质因数,Java将一个正整数分解质因数

    import java.io.*; public class Factorization { public void division(int input) { for(int i = 2; i &l ...

  2. 分解质因数 JAVA

    问题描述 求出区间[a,b]中所有整数的质因数分解. 输入格式 求出区间[a,b]中所有整数的质因数分解. 输出格式 每行输出一个数的分解,形如k=a1a2a3-(a1<=a2<=a3-, ...

  3. 分解质因数Java实现

    //传入一个整数,返回分解的质数,例如num=18,返回[[2,1][3,2]],18=2^1+3^2public static ArrayList<ArrayList<Integer&g ...

  4. java求最大公约数(分解质因数)

    下面是四种用java语言编程实现的求最大公约数的方法: package gcd;import java.util.ArrayList; import java.util.List;public cla ...

  5. java:蓝桥杯练习 分解质因数

    [蓝桥杯][基础练习VIP]分解质因数 时间限制: 1Sec 内存限制: 128MB 提交: 2802 解决: 1688 题目描述 求出区间[a,b]中所有整数的质因数分解. 提示 先筛出所有素数,然 ...

  6. java - 分解质因数

    根据提示输入一个正整数,用java程序进行分解质因数.例如:输入 90,打印出 90=233*5 原理分析: 1.对 n 进行分解质因数,应先找到一个最小的质数 k,然后按下述步骤完成: 2.如果这个 ...

  7. java isprime函数_翁恺老师零基础java课程函数章第一题分解质因数

    分解质因数(5分) 题目内容: 每个非素数(合数)都可以写成几个素数(也可称为质数)相乘的形式,这几个素数就都叫做这个合数的质因数.比如,6可以被分解为2x3,而24可以被分解为2x2x2x3. 现在 ...

  8. java正整数分解因数_java将一个正整数分解质因数

    import java.util.Scanner; import java.util.Vector; public class 分解质因数 { public static void main(Stri ...

  9. 简单的java实现分解质因数。

    首先,我们知道: 对n进行分解质因数,应先找到一个最小的质数i,然后按下述步骤完成: a)如果这个质数恰等于n,则说明分解质因数的过程已经结束,打印出即可. b) 如果n不等于i,i能被n整除,则应打 ...

  10. Java 小例子:分解质因数

    这个例子演示如何利用递归来完成分解质因数. import java.util.List; import java.util.ArrayList; /** * 分解质因数 */ public class ...

最新文章

  1. Regular Expression Matching
  2. 三维点云对应关系聚合算法的性能评价
  3. axios请求拦截器、响应拦截器、vue-router路由导航守卫的使用(案例)
  4. Squeeze Net
  5. 程序员这样聊天,让女神疯狂追逐你
  6. 微信oauth2接口获取用户的openid
  7. 概率论——超几何随机变量
  8. MT6762/MT6763处理器参数比较,MT6762参考设计资料介绍
  9. 开源直播推流sdk_携程移动直播探索
  10. 如何每天学习10小时,依然精力充沛?(超实用教程)
  11. mysql Incorrect string value \xF0\x9F\x98\x84\xF0\x9F
  12. iOS开发之自定义键盘(数字,字母类型等随意切换)
  13. mybatis sql 改写
  14. 痛心!中兴通讯子公司研发工程师跳楼坠亡...
  15. 空心三角形图案-c++
  16. 这可能是你近 2 年发论文最好机会!
  17. 大学上课占座现象是否真的应该由校方控制
  18. RISC和CISC的区别
  19. 蓝桥杯—奇妙的数字(小明发现了一个奇妙的数字)
  20. NoClassDefFoundError解决方案

热门文章

  1. python 列表 常用操作 列表的循环遍历
  2. 神经网络聚类方法:SOM算法原理
  3. 遥测、遥信、遥控、遥调的简要说明
  4. 访问远程Redis服务。Connect to Remote Redis Server
  5. Html:小技巧:自动提交表单的实现方法
  6. Github:Semantic-Segmentation-Suite分割网络集锦--使用小结
  7. 易康中如何提取特征并进行重要性排序
  8. httpd离线安装(含依赖包下载地址)
  9. 深度学习和高光谱图像分类
  10. 用sql语句查询出每门课都大于80 分的学生姓名案例解析