将一个整数分解为质数的乘积
生活随笔
收集整理的這篇文章主要介紹了
将一个整数分解为质数的乘积
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
題目:將一個整數分解為質數的乘積
(質數就是除了1和它本身之外,再也沒有整數能被它整除的數.比如:2..3.5.7.11.13.17.19.23.39.31…………………………
素數就是質數.質數之外的數稱為合數.合數比如:4.6.8.16.32.64.72……………………………………
但是注意,1既不是素數也不是合數.)
方式1:
import java.util.ArrayList; import java.util.List; import java.util.*; public class test1 {public static void main(String[] args) {Scanner scanner=new Scanner(System.in);int n=scanner.nextInt();serch(n);}public static void serch(int n){List<Integer> list = new ArrayList<Integer>();int i = 2;int j = 0;System.out.print(n+"=");while (n >= 2) {if (n % i == 0) {list.add(i);n /= i;i = 2;}else {i++;}}int t=list.size()-1;for (Integer l : list){System.out.print(l);if (j<t) {System.out.print("*");j++;}}} }?如輸入120,結果如下
方式2:
import java.util.*; public class test1 {public static void main(String[] args) {Scanner scanner=new Scanner(System.in);int n=scanner.nextInt();primeCount(n);}public static void primeCount(int num) {StringBuffer sb = new StringBuffer();sb.append(num + "=");int minNumber = 2;// 定義最小的質數while (minNumber < num) {if (num % minNumber == 0) {num = num / minNumber;sb.append(minNumber + "*");} else {minNumber++;}}sb.append(minNumber);System.out.print(sb.toString());}}輸入90,結果如下?
?
?
總結
以上是生活随笔為你收集整理的将一个整数分解为质数的乘积的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: mysql 三个表级联查询,以主表为主数
- 下一篇: 三丰云永久免费云服务器