首页 > 代码库 > POJ 2140 Herd Sums

POJ 2140 Herd Sums

<style>p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; font: 12.0px Menlo; color: #51c34f } p.p2 { margin: 0.0px 0.0px 0.0px 0.0px; font: 12.0px Menlo; color: #e12da0 } p.p3 { margin: 0.0px 0.0px 0.0px 0.0px; font: 12.0px Menlo; color: #e7e8eb; min-height: 14.0px } p.p4 { margin: 0.0px 0.0px 0.0px 0.0px; font: 12.0px Menlo; color: #e7e8eb } p.p5 { margin: 0.0px 0.0px 0.0px 0.0px; font: 12.0px "PingFang SC"; color: #51c34f } span.s1 { color: #d38d5d } span.s2 { font: 18.0px Menlo; color: #de3a3c } span.s3 { } span.s4 { font: 12.0px "PingFang SC" } span.s5 { color: #e7e8eb } span.s6 { color: #29a09f } span.s7 { color: #e12da0 } span.s8 { color: #00aaa3 } span.s9 { font: 12.0px Menlo; color: #e7e8eb } span.s10 { font: 12.0px Menlo }</style>

#include <iostream>//这种在几个数里面任意去几个连续的数求和就用两个循环套一下就可以了

using namespace std;

int main()

{

    int n, i, j, sum, cnt = 0;

    cin >> n;

    //经分析可知,其i的取值不可能大于n/2+1,那样范围就缩小了!

    for (i = 1; i <= n/2+1; i++){

        sum = 0;

        for (j = i; j <= n/2+1; j++){

            sum += j;

            if (sum == n){

                cnt++;

                break;

            }

            if (sum > n)  break;

        }

    }

    cout << cnt + 1 << endl;

    return 0;

}

POJ 2140 Herd Sums