1 条题解
-
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; }
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
- 上传者