都老了,现在小学生都比我们牛很多哦!
记得若n可以写成某数的平方或某数平方的二倍,则该数的所有约数的和为奇数!
#include<stdio.h>
#include<math.h>#include<string.h>
int main()
{
__int64 i,T,sum,w;
__int64 n;
scanf("%I64d",&T);
while(T--)
{
scanf("%I64d",&n);
w=(__int64)sqrt(1.0*n);sum=w;
for(i=1;i<=w;i++)
{
if(i*i*2<=n)
sum++;
}
printf("%I64d\n",sum%2);
}
return 0;
}
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2608