90分求助!用例#1没通过,请大佬帮忙看看
  • 板块P1249 最大乘积
  • 楼主XieLee
  • 当前回复3
  • 已保存回复3
  • 发布时间2023/1/25 16:59
  • 上次更新2023/10/24 03:07:02
查看原帖
90分求助!用例#1没通过,请大佬帮忙看看
915148
XieLee楼主2023/1/25 16:59
import java.math.BigInteger;
import java.util.ArrayList;
import java.util.Scanner;

public class Main {
    public static void main(String[] args){
    	Scanner sc =new Scanner(System.in);
    	int SumNum=sc.nextInt();
    	sc.close();
    	if(SumNum>4)
    	{
    		int i=2;
        	int sum=0;
        	ArrayList<Integer>list=new ArrayList<>();
        	while(SumNum>=sum+i)
        	{
        		list.add(i);
        		sum+=i;
        		i++;
        	}
        	int subMim=SumNum-sum;
        	int tal=subMim>list.size()?subMim/list.size():0;
        	int oterwise=subMim%list.size();
        	BigInteger ans=BigInteger.ONE;
        	for(int j=0;j<list.size();j++)
        	{
        		if(j>=list.size()-oterwise)
        		{
        			list.set(j, list.get(j)+tal+1);
        		}
        		else
        		{
        			list.set(j, list.get(j)+tal);
        		}
        		int w=list.get(j);
        		ans=ans.multiply(new BigInteger(w+""));
        		System.out.print(w+" ");
        	}
        	System.out.println();
        	System.out.println(ans);
    	}
    	if(SumNum==3)
    	{
    		System.out.println("1 2");
    		System.out.println("2");
    	}
    	if(SumNum==4)
    	{
    		System.out.println("1 3");
    		System.out.println("3");
    	}
    }
}

https://www.luogu.com.cn/record/100504310

2023/1/25 16:59
加载中...