程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> C++ >> C++入門知識 >> HDU 2608 0 or 1 規律

HDU 2608 0 or 1 規律

編輯:C++入門知識

點擊打開鏈接

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;
}


  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved