posts - 195,  comments - 30,  trackbacks - 0
第一次1.3秒,第二次0.1第三次,0.0秒
#include<stdio.h>
void func(int i)
{
int m,n,k,j;
int temp,vmax=4*i+2;
for(m=1;m<i;m++)
for(n=m;n<=i;n++)
{
j=m*n;//避免了三重循环
if(j>i)
break;//能省不少时间
if(i%j==0)//判断是否能整除
{
k=i/j;
temp=2*(k*m+k*n+j);
if(temp<vmax)
vmax=temp;
}
}
printf("%d\n",vmax);
}
int main()
{
int num,n;
scanf("%d",&num);
getchar();
while(num--)
{
scanf("%d",&n);
getchar();
func(n);
}
//system("PAUSE");
return   0;
}
posted on 2009-07-25 22:36 luis 阅读(225) 评论(0)  编辑 收藏 引用 所属分类: 给我启发题

只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理


<2011年1月>
2627282930311
2345678
9101112131415
16171819202122
23242526272829
303112345

常用链接

留言簿(3)

随笔分类

随笔档案

文章分类

文章档案

友情链接

搜索

  •  

最新评论

阅读排行榜

评论排行榜