Problem
acm.hdu.edu.cn/showproblem.php?pid=6124
Meaning
给一个正整数 a,问它对任意正整数 b 求余可能的余数有多少种。
Analysis
a 对大于它的数求余都得 a;对小于等于 a 的数,按 a…a2…a3…an… 把区间 [ 1,a ] 分成很多个段,每一个段都有重复的余数,而从 a2 到 a 这个区间的长度最长,所以在这个区间找。
Code
#include <cstdio>
using namespace std;
int main()
{
int T;
scanf("%d", &T);
while(T--)
{
int n;
scanf("%d", &n);
printf("%d\n", n - n / 2 + 1);
}
return 0;
}