1. 程式人生 > >HDU——6124(C語言)

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); } } }