Euler theorem
Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 524288/524288 K (Java/Others)Total Submission(s): 113 Accepted Submission(s): 96
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,对于任意的b,得到c=a%b,求c的种类
思路:很明显0和a本身是符合的,然后多于a/2都符合,所以答案就是(a-1)/2+2;
#include <iostream>
#include <cstdio>
#include <cstring>
#include <string>
#include <cmath>
#include <map>
#include <set>
#include <algorithm>
#include <complex>
#include <vector>
#include <bitset>
#include <stack>
#include <queue>
#include <unordered_map>
#include <functional>
using namespace std;
int main()
{
int T,a;
for(scanf("%d",&T);T--;)
{
scanf("%d",&a);
printf("%d\n",(a-1)/2+2);
}
return 0;
}