EOJ 3025―连续正整数之和

有些正整数可以表示为 n(n>1) 个连续正整数的和,如:
15=1+2+3+4+5
15=4+5+6
15=7+8
给定一个正整数 N,判断其是否可以表示为一组连续正整数的和,输出符合条件的解的组数。

输入格式
第 1 行:一个整数 T (1≤T≤10) 为问题数。
第 2 T+1 行,对应每个问题有一行,每行一个正整数 N(3≤N≤1000000)。

输出格式
对每个测试数据,首先输出一行问题的编号(0 开始编号,格式:case #0: 等)。在接下来一行中输出符合条件的解的组数。

#include 
#include 

int main()
{
   int t,i;
   scanf("%d\n",&t);
   for(i=0;i<t;i++)
    answer(i);
    return 0;
}


void answer(int i){
    //i为执行问题数的次数
    int b,j,num,zushu=0; //j为从1开始往后加
    scanf("%d",&num);
    for(j=1;j<=num/2;j++){ //j为第一个数
            int sum=0;
            for(b=j;sum<num;b++)
            {
                sum=sum+b;
                if (num==sum)
                    zushu++;
             }
            }
     printf("case #%d:\n%d\n",i,zushu);
 }



你可能感兴趣的:(EOJ)