HDU 2608 0 or 1 规律

2014-11-24 10:54:48 · 作者: · 浏览: 0
点击打开链接

0 or 1

Time Limit: 6000/2000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)
Total Submission(s): 2258 Accepted Submission(s): 555


Problem Description Solving problem is a interesting thing. Yifenfei like to slove different problem,because he think it is a way let him more intelligent. But as we know,yifenfei is weak in math. When he come up against a difficult math problem, he always try to get a hand. Now the problem is coming! Let we
define T(n) as the sum of all numbers which are positive integers can divied n. and S(n) = T(1) + T(2) + T(3)…..+T(n).

Input The first line of the input contains an integer T which means the number of test cases. Then T lines follow, each line consists of only one positive integers n. You may assume the integer will not exceed 2^31.
Output For each test case, you should output one lines of one integer S(n) %2. So you may see the answer is always 0 or 1 .
Sample Input
3
1
2
3 

Sample Output
1
0
0


HintHint S(3) = T(1) + T(2) +T(3) = 1 + (1+2) + (1+3) = 8
     S(3) % 2 = 0  

Author yifenfei
Source 奋斗的年代
都能在网上找到规律就是:凡是“能够被完全开方”或者“被2整除后能够完全被开方”的数,它的(T(N) % 2)都是1。 从此我的博客里面多了一个规律的分组。
//15MS	228K
#include
  
   
#include
   
     int main() { int t; scanf("%d",&t); while(t--) { int n,count=0; scanf("%d",&n); for(int i=1;i<=n;i++) { if(i*i*2<=n)count++; if(i*i<=n)count++; else break; } printf("%d\n",count%2); } return 0; }