CSDN高斯公式

来源:互联网 发布:tableview性能优化 编辑:程序博客网 时间:2024/05/16 15:39

高斯公式

  • 发布公司:
  • 有 效 期:
  • CSDN
  • 2014-04-242015-04-24
  • 难 度 等 级:
  • 答 题 时 长:
  • 编程语言要求:
  • 120分钟
  • C C++ Java C#
题目详情

高斯在上小学时发明了等差数列求和公式:1+2+..+100=5050。现在问题在于给你一个正整数n,问你他可以表示为多少种连续正整数之和?(自身也算)。

输入格式:

多组数据,每组数据一行,一个正整数n。 0<n<2000000000

输出格式:

每组数据一行,包含一个正整数,表示结果。



答题说明

输入样例

5

120

输出样例:

2

4

解释:

5=2+3=5

120=1+2+...+15=22+23+24+25+26=39+40+41=120

我提交的代码

#include<iostream>
using namespace std;
int main()
{
    int n;
    while(cin>>n){
        int k=0,i=1;
        for(int i=1;;i++){//思路来源于《短码之美》50页
            if(n%i==0) k++;
            n=n-i;
            if(n<=0) break;
        }
        cout<<k<<endl;
    }
    return 0;
}

        
0 0
原创粉丝点击