Euler theorem
Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 524288/524288 K (Java/Others)
Total Submission(s): 494 Accepted Submission(s): 400
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
//题意:给定正整数a,求对于所有正整数b,amodb有多少种可能的结果。
//思路:显然小于<a/2的每个非负整数c都是可能成为余数的,取b=a-c即可,另外a本身也能成为余数,而其他数显然都不可能。
#include <iostream>
#include <cstdio>
#include <cmath>
#include <algorithm>
#include <cstring>
#include <string>
using namespace std;
int main()
{
int T;
scanf("%d", &T);
while (T--)
{
int a;
scanf("%d", &a);
int ans = (a + 1) / 2 + 1;
printf("%d\n", ans);
}
return 0;
}