标签:
给出一个正整数N,从1到N这N个数中选出若干对pair,每个pair是1到N中不相等的两个数,1到N中每个数只能被选择一次,每个pair的值是它两个数的和,要求任意两个pair的值不相等,并且每个pair的值不超过N,问最多可以选出多少个pair。
第一行为一个整数T,代表数据组数,T<=100。
接下来T行,每行一个正整数N,N<=100。
对于每个输入N,输出最多可以选出多少对pair,每个输出占一行。
3 1 2 3
0 0 1
样例解释:
N=1时,不能选出两个数,所以为0;
N=2时,只能选出1和2组成一个pair,但是1+2=3>2,所以也为0;
N=3时,可以选择1和2组成一个pair,1+2=3<=3,可行,并且答案最大为1。
#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",n*2-1); }else { n*=2; if(m>2) printf("%d\n",n+1); else{ printf("%d\n",n); } } } return 0; }
标签:
原文地址:http://www.cnblogs.com/chengsheng/p/4409884.html