思路如下,只要房子的号码是个完全平方数就可以逃跑了。
为什么呢???
因为完全平方数比方是25,只能分解为1,5,25,这三个数,以1代表门开了,0代表关了,则此时的序列就是1,0,1,
所以只要对输入的数求下平方根就好了。
换句话说在区间[1,n]中能整除n的数的个数,当n是平方数是奇数个,否则是偶数个。
http://acm.hdu.edu.cn/showproblem.php?pid=1337
#include<stdio.h>
#include<math.h>
int main()
{
int n,a;
scanf("%d",&n);
while(n--)
{
scanf("%d",&a);
printf("%d\n",(int)sqrt(a*1.0));
}
return 0;
}
posted on 2010-10-05 20:07
孟起 阅读(582)
评论(0) 编辑 收藏 引用 所属分类:
水题