求一个整数的因数分解--Java--小白必懂
2022/2/25 1:31:42
本文主要是介绍求一个整数的因数分解--Java--小白必懂,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
public class OJ_1415 { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int num = sc.nextInt(); int sNum = num; splitNum(sNum); } // 求整数的因式分解的方法 public static void splitNum(int num) { if (num == 1) { System.out.println(num); } HashMap<Integer, Integer> hap = new HashMap<>(); int kNum = num; for (int i = 2; i <= kNum; ) { if (kNum % i == 0) { if (hap.keySet().contains(i)) { hap.put(i, hap.get(i) + 1); } else { hap.put(i, 1); } kNum = kNum / i; i=2; } else { i++; } } // map中保存了每个因子的出现次数,然后遍历这个hashMap,如果需要从小到大显示还需要排序 // 使用Collections的sort方法对hashMap的key进行排序 Collection<Integer> key = hap.keySet(); List<Integer> lst = new ArrayList<>(key); Collections.sort(lst); StringBuilder sb = new StringBuilder(); for (int i = 0; i < lst.size(); i++) { sb.append(""+lst.get(i) + "^" + "("+hap.get(lst.get(i))+")"); } sb.append("=" + num); System.out.println(sb.toString()); } }
要求:给定一个整数,求整数的因式分解,要求输出结果按因子由大到小的方式排列输出
例子1:
输入:120
输出:2^(3)3^(1)5^(1)=120
例子2:
输入:6
输出:2^(1)3^(1)=120
这篇关于求一个整数的因数分解--Java--小白必懂的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-12-27JavaScript面试真题详解与解答
- 2024-12-27掌握JavaScript大厂面试真题:新手入门指南
- 2024-12-27JavaScript 大厂面试真题详解与解析
- 2024-12-26网络攻防资料入门教程
- 2024-12-26SQL注入资料详解:入门必读教程
- 2024-12-26初学者指南:数据库服务漏洞项目实战
- 2024-12-26网络安全项目实战:新手入门指南
- 2024-12-26网络攻防项目实战入门教程
- 2024-12-26信息安全项目实战:从入门到初步应用
- 2024-12-26SQL注入项目实战:初学者指南