2017 Multi-University Training Contest - Team 7:hdu6124、Euler theorem

题目:

Problem Description
HazelFan is given two positive integers a,b, and he wants to calculate amodb. But now he forgets the value of b and only remember the value of a, please tell him the number of different possible results.
 

Input
The first line contains a positive integer T(1T5), denoting the number of test cases.
For each test case:
A single line contains a positive integer a(1a109).
 

Output
For each test case:
A single line contains a nonnegative integer, denoting the answer.
 

Sample Input
 
   
2 1 3
 

Sample Output
 
   
2 3
题意:求a%b有多少种结果,已知a,不知道b

思路:打表找规律,很容易看出如果a是奇数的话,答案是(奇数+1)/2+1;a是偶数的话,答案是a/2+1

code:

#include
using namespace std;
int main()
{
        int t,a;
        scanf("%d",&t);
        while(t--){
                scanf("%d",&a);
                if(a%2) a++;
                printf("%d\n",a/2+1);
        }
        return 0;
}


你可能感兴趣的:(2017多校集训)