java完全平方提示用户输入一个整数m,然后找到最小整数n,使得m*n是完全平方数

这里m,n参数定义是反的…

import java.util.*;
public class eleven1117 {
    public static void main(String[] args) {
        Scanner input=new Scanner(System.in);
        System.out.println("enter n: ");
        int n=input.nextInt();
        int flag=n;
        int i=2;
        int m=1;
        ArrayList<Integer> list=new ArrayList<Integer>();
        ArrayList<Integer> list1=new ArrayList<Integer>();
        int []a=new int[1000];
        while(n!=1) {
            if(n%i==0) {
                list.add(i);
                n=n/i;
                a[i]++;
            }
            else
                i++;    

        }
        for(int j=0;j<1000;j++)
        {
            if(a[j]!=0&&(a[j]%2==1))
                m=m*j;
        }
        System.out.println(m);
        System.out.println(m*flag);
    }

}

猜你喜欢

转载自blog.csdn.net/j_linlian/article/details/79875895