HDU 6124 Euler theorem

来源:互联网 发布:石头人升级数据 编辑:程序博客网 时间:2024/05/21 10:46

题目链接

题目意思

有两个数a,b,计算a mod b。现在忘记了b,只知道a,问你可能的结果有多少种。

解题思路

这就是一道规律题,我们观察可以发现我们取模的结果要不是正好除尽为0,或者比他大余它本身,还有就是余下的不同个数,但是你会发现不管是什么数,它的结果总是自身的一半加上一或者二。因为奇数的时候要加上它自身的一半那个数和它自身那个数。偶数的时候直接加上它自身就够了。

代码部分

#include <iostream>#include <stdio.h>#include <string.h>#include <algorithm>using namespace std;int main(){    int T;    scanf("%d",&T);    while(T--)    {        int n;        scanf("%d",&n);        printf("%d\n",((n+1)/2)+1);    }}
原创粉丝点击