import java.util.*;public class Test { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); int num = scanner.nextInt(); int save = num; ArrayList<Integer> arrayList = new ArrayList<Integer>(); while (num != 1) { for (int i = 2; i <= num; i++) { if (num % i == 0) { arrayList.add(i); num /= i; } } } StringBuilder stringBuilder = new StringBuilder(); stringBuilder.append(save + "="); for (Integer integer : arrayList) stringBuilder.append(integer + "*"); stringBuilder.deleteCharAt(stringBuilder.length() - 1); System.out.println(stringBuilder.toString()); } }
public class FenJieZhi { public static void main(String[] args) { int num=Integer.parseInt(args[0]); int nums[]= new int[50]; int index=0; int tem=num; for(int i=2;i<=tem;i++){ //将得到的每一个因数存在数组nums中 while(tem%i==0){ nums[index]=i; //如果num世俗书nums[0]=num; index++; tem/=i; } } if(nums[0]==num){ //如果数是素数,执行一下 nums[0]=1; nums[1]=num; index=2; } System.out.print(num+"="+nums[0]);//打印num=nums[0] for(int k=1;k<index;k++){ //打印算式的后半部分 *num[1]*.... System.out.print("*"+nums[k]); } }}//我自己写的有点麻烦
public class Test {
public static void main(String args[]) {
int a = 90;
for(int i=2;i<=a;i++) {
if(a%i==0) {
System.out.print(i+" ");
a = a/i;
i--;
}
}
}
}
import java.util.*;public class Test
{
public static void main(String[] args)
{
Scanner scanner = new Scanner(System.in);
int num = scanner.nextInt();
int save = num;
ArrayList<Integer> arrayList = new ArrayList<Integer>();
while (num != 1)
{
for (int i = 2; i <= num; i++)
{
if (num % i == 0)
{
arrayList.add(i);
num /= i;
}
}
}
StringBuilder stringBuilder = new StringBuilder();
stringBuilder.append(save + "=");
for (Integer integer : arrayList)
stringBuilder.append(integer + "*");
stringBuilder.deleteCharAt(stringBuilder.length() - 1);
System.out.println(stringBuilder.toString());
}
}
public class FenJieZhi {
public static void main(String[] args) {
int num=Integer.parseInt(args[0]);
int nums[]= new int[50];
int index=0;
int tem=num;
for(int i=2;i<=tem;i++){ //将得到的每一个因数存在数组nums中
while(tem%i==0){
nums[index]=i; //如果num世俗书nums[0]=num;
index++;
tem/=i;
}
}
if(nums[0]==num){ //如果数是素数,执行一下
nums[0]=1;
nums[1]=num;
index=2;
}
System.out.print(num+"="+nums[0]);//打印num=nums[0]
for(int k=1;k<index;k++){ //打印算式的后半部分 *num[1]*....
System.out.print("*"+nums[k]);
}
}}//我自己写的有点麻烦
static void resolve(int n) {
if(n == 1)
return ;
if(n % 2 == 0) {
System.out.print(2 + "\t");
resolve(n / 2);
} else {
int i;
for(i = 3; i <= n; i++)
if(n % i == 0) {
System.out.print(i + "\t");
break;
}
resolve(n / i);
}
for(i = 3; i <= n; i++) ---> for(i = 3; i <= n; i = i + 2) 这里步长为2,否则单独考虑质数2就没有意义了