频道栏目
首页 > 程序开发 > 软件开发 > C++ > 正文
HDU1868:Consecutive sum
2013-02-27 08:47:39           
收藏   我要投稿
Problem Description

Every body knew that 15 = 1+2+3+4+5 = 4+5+6 = 7+8. Now give you a number N, tell me how many ways to represent N as a sum of consecutive positive integers. For example, 15 have 3 ways to be found.

 

 

Input

Each line will contain an signed 32-bits integer N. Process to end of file.

 

 

Output

For each case, output the answer in one line.

 

 

Sample Input

15

1050

 

 

Sample Output

3

11

 

 

 

 

[cpp]  

#include <iostream>  

using namespace std;  

  

int main()  

{  

    int n,i,j;  

    while(cin >> n)  

    {  

        j = 0;  

        if(n%2)  

            j = j+1;  

        for(i = 2; i*i<=n; i++)  

        {  www.2cto.com

            if(n%i == 0)  

            {  

                if(i%2!=0)  

                    j = j+1;  

                if(n/i%2!=0)  

                    j = j+1;  

            }  

        }  

        cout << j << endl;  

    }  

  

    return 0;  

}  

 

 

点击复制链接 与好友分享!回本站首页
相关TAG标签
上一篇:九度OJ 题目1473:二进制数
下一篇:HDU 2846 Repository
相关文章
图文推荐
点击排行

关于我们 | 联系我们 | 广告服务 | 投资合作 | 版权申明 | 在线帮助 | 网站地图 | 作品发布 | Vip技术培训 | 举报中心

版权所有: 红黑联盟--致力于做实用的IT技术学习网站