HDU——6124(C语言)

一道简单又有趣的数学题
很多人可能会想到用数组存储a%i(i从1循环增加)的值,然后剔除重复的元素,计算可能的结果的数量,但是a的取值范围很大,数组是存不下的,计算机会爆
这题的简便做法是:
找出规律

OK,思路完毕,规律自找
附上AC代码:

#include <stdlib.h>
#include <stdio.h>
int main()
{
    int test_num;
    int i,a,flag;
    while(scanf("%d",&test_num)!=EOF)
    {
        for(i=0;i<test_num;i++)
        {
            flag=0;
            scanf("%d",&a);
            if(a%2==0)
                flag=a/2+1;
            if(a%2==1)
                flag=(a+1)/2+1;
            printf("%d\n",flag);
        }
    }
}

猜你喜欢

转载自blog.csdn.net/qq_43005180/article/details/82711538
今日推荐