C语言中的模运算-hdu6124(打表,找规律)

题目链接:https://vjudge.net/problem/HDU-6124

题目描述:

题目大意就是给你一个数,判断这个数 % 其它数后共有几种结果。

这题对我来说最大的难点是我不太知道每个数 余 其他的数应该得出什么结果,后来参考了别人的博客,才弄清楚了。现在我就举一些例子来说明一下:

对于任何数a,a%1=a%a=0;如果a是偶数,a%2=0;如果a是奇数,a%2=1;对于任何比a大的数biga来说,biga%a=a(这点是我开始时不怎么确定的)

 通过对几组测试案例的分析发现,当a=1时,结果ans=1,当a为偶数时,ans=a/2+1,当a为奇数时,ans=a/2+2。

代码转载自:https://blog.csdn.net/jianbagengmu/article/details/77199144

代码实现:

#include<iostream>
#include<cstdio>
using namespace std;
int main()
{
    int T;scanf("%d",&T);
    while(T--){
        int a,ans;
        scanf("%d",&a);
        if(a==1)
            ans=2;
        else if(a%2==0)
            ans=a/2+1;
        else
            ans=a/2+2;
        printf("%d\n",ans);
    }
    return 0;
}

 

posted @ 2018-12-02 10:44  里昂静  阅读(588)  评论(0编辑  收藏  举报