一道简单又有趣的数学题
很多人可能会想到用数组存储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);
}
}
}