1 条题解

  • 0
    @ 2024-12-24 9:59:30

    C :

    #include<stdio.h>
    
    int main()
    {
    	int c,n,i,j,k,mini,s;
    	scanf("%d",&c);
    	while(c--)
    	{
    		scanf("%d",&n);
    		for(mini=100000000,i=1;i<=n;i++)
    			for(j=i;j*i<=n;j++)
    				if(n%(j*i)==0)
    				{
    					k=n/j/i;
    					s=(i*j+i*k+j*k)*2;
    					if(s<mini)
    						mini=s;
    				}
    		printf("%d\n",mini);
    	}
    	return 0;
    }
    

    C++ :

    #include<stdio.h>
    
    int main()
    {
    	int c,n,i,j,k,mini,s;
    	scanf("%d",&c);
    	while(c--)
    	{
    		scanf("%d",&n);
    		for(mini=100000000,i=1;i<=n;i++)
    			for(j=i;j*i<=n;j++)
    				if(n%(j*i)==0)
    				{
    					k=n/j/i;
    					s=(i*j+i*k+j*k)*2;
    					if(s<mini)
    						mini=s;
    				}
    		printf("%d\n",mini);
    	}
    	return 0;
    }
    

    Java :

    import java.util.*;
    
    public class Main{
        public static void main(String[] args){
        Scanner in = new Scanner(System.in);
        int C = in.nextInt();
        for(int n = 1;n<=C;n++){
            int N = in.nextInt();
            int a = 1, b = N;
            int result = 2147483647;
            for(int i = 1;i<=N;i++)
            {
                for(int j = i;j*i<=N;j++)
                {
                    if(N%(i*j)==0)
                    {
                        int k = N/i/j;
                        int area = (i*j+i*k+j*k)*2;
                        if(area<result)
                        result = area;
                    }
                }
            }
            if(N==0) result = 0;
            System.out.println(result);
        }
    }
    }
    
    • 1

    信息

    ID
    1656
    时间
    1000ms
    内存
    32MiB
    难度
    (无)
    标签
    递交数
    0
    已通过
    0
    上传者