Euler theorem
Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 524288/524288 K (Java/Others)Total Submission(s): 379 Accepted Submission(s): 307
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(1≤T≤5)
, denoting the number of test cases.
For each test case:
A single line contains a positive integer a(1≤a≤109) .
For each test case:
A single line contains a positive integer a(1≤a≤109) .
Output
For each test case:
A single line contains a nonnegative integer, denoting the answer.
A single line contains a nonnegative integer, denoting the answer.
Sample Input
2 1 3
Sample Output
2 3
Source
题意:给你一个a,问a%b有几种答案
解题思路:可以发现对于一个数字a,取模后必然只能得到0~n/2和n这几种结果
#include <iostream>
#include <cstdio>
#include <cstring>
#include <map>
#include <set>
#include <string>
#include <cmath>
#include <algorithm>
#include <vector>
#include <bitset>
#include <stack>
#include <queue>
#include <unordered_map>
#include <functional>
using namespace std;
const int INF=0x3f3f3f3f;
#define LL long long
int main()
{
int t,n;
scanf("%d",&t);
while(t--)
{
scanf("%d",&n);
printf("%d\n",(n+1)/2+1);
}
return 0;
}