题目要求
농부 존 무리 젖소 번째 및 N (1 <= N <= 10,000,000) 1에서 연속 정수로 브랜드된다. 소가 착유를위한 헛간에 올 때, 그들은 항상 1 N.에 순차적으로 제공
대학과 사랑 숫자에서 수학을 전공 한 농부 존은 종종 패턴을 보인다. 그는 그의 무리 정확히 15 소가있는 경우, 하나 이상의 연속 젖소의 세트 번호 15 (젖소의 총 수와 동일)까지 추가 할 수있는 네 가지 방법으로 정확하게 있다는 것을 발견했다. 그들은 : 15, 8 + 7 + 6 + 4 5 1 + 2 + 3 + 4 + 5.
무리 암소의 수가 10 인 경우, 방법의 수는 그 연속 소를 요약 할 수 있으며 2에 10 방울을 얻을 : 즉 1 + 2 + 3 + 4, 10.
이 문제를 해결하기 위해 사전 계산을 사용 N. 할 일을하지 동일하게 연속 소에 숫자를 요약 할 수있는 방법 농부 존의 수를 계산하는 프로그램을 작성합니다.
입력
- 행 1 : 단일 정수 : N의
출력 - 1 라인은 다음 정수 개수의 연속 암소 방법 N. SUM 브랜드 CAN에있는 싱글
샘플 입력
원시
15
샘플 출력
원시
. 4
누적 무엇을 참조 할 수는 단순히 예컨대 10 1 + 2 + 3 + 도 4 및도 10의 결과는 2이다
이전 순회 모양에서 계속 수의 수에 축적하거나 동일 원술보다 N 알고
전체 코드
#include<stdio.h>
#include<string.h>
#include<iostream>
#include<algorithm>
#include<queue>
#include<math.h>
#include<stdio.h>
#include<string.h>
using namespace std;
int main()
{
int n, sum = 0, i, r = 0, k;
cin>>n;
k = n;
for (i = n; i >= 1; i--)
{
sum += i;
if (sum == n)
r++;
else if (sum > n)
sum -= k--;
}
cout<<r<<endl;
return 0;
}