BNU34067——Pair——————【找规律】

Pair

Time Limit: 1000ms
Memory Limit: 65536KB
64-bit integer IO format: %lld      Java class name: Main
Type: 
None
 
 

 给出一个正整数N,从1到N这N个数中选出若干对pair,每个pair是1到N中不相等的两个数,1到N中每个数只能被选择一次,每个pair的值是它两个数的和,要求任意两个pair的值不相等,并且每个pair的值不超过N,问最多可以选出多少个pair。

 

Input

第一行为一个整数T,代表数据组数,T<=100。

接下来T行,每行一个正整数N,N<=100。

 

Output

对于每个输入N,输出最多可以选出多少对pair,每个输出占一行。

 

Sample Input

3
1
2
3

Sample Output

0
0
1

Hint

样例解释:

N=1时,不能选出两个数,所以为0;

N=2时,只能选出1和2组成一个pair,但是1+2=3>2,所以也为0;

N=3时,可以选择1和2组成一个pair,1+2=3<=3,可行,并且答案最大为1。

 

Source

 
 
解题思路:五个一循环。0 0 1 1 1。2 2 3 3 3 。4 4 5 5 5 。6 6 7 7 7 。
 
 
#include<bits/stdc++.h>
using namespace std;
int main(){
    int T;
    scanf("%d",&T);
    while(T--){
        int N;
        scanf("%d",&N);
        int n=N/5;
        int m=N%5;
        if(m==0){
            printf("%d
",n*2-1);
        }else {
            n*=2;
            if(m>2)
                printf("%d
",n+1);
            else{
                printf("%d
",n);
            }
        }
    }
    return 0;
}

  

 
 
原文地址:https://www.cnblogs.com/chengsheng/p/4409884.html