oj1272: Sumas Herd

题目要求
Las vacas en el rebaño de granjero John están numerados y marcados con enteros consecutivos de 1 a N (1 <= N <= 10 millones). Cuando las vacas vienen a la granja para el ordeño, siempre vienen en orden secuencial de 1 a N.

Farmer John, que se especializó en matemáticas en la universidad y los números ama, a menudo busca patrones. Se ha notado que cuando tiene exactamente 15 vacas en su rebaño, no son precisamente cuatro formas en que los números en cualquier conjunto de una o más vacas consecutivos pueden añadir hasta 15 (el mismo que el número total de vacas). Ellos son: 15, 7 + 8, 4 + 5 + 6, y 1 + 2 + 3 + 4 + 5.

Cuando el número de vacas en el hato es de 10, el número de formas que puede resumir vacas consecutivos y llegar a 10 gotas 2: es decir, 1 + 2 + 3 + 4 y 10.

Escribir un programa que calcule el número de formas granjero John puede sumar los números en vacas consecutivos para igualar N. No utilizar precomputation para resolver este problema.
Entrada

  • Línea 1: Un solo entero: N
    Output
  • 1 Línea: El es un solo que número entero de vaca consecutiva Formas de N. SUMA marcas pueden
    la muestra de la entrada
    Raw
    15 de
    la muestra de la salida de
    crudo
    . 4
    es simplemente un número para ver lo que, acumulativamente, tal como 10 a 1 + 2 + 3 + 4 y 10, el resultado es 2.
    traversal anterior continúa desde el aspecto y se acumula en una serie del número, mayor que o igual Yuan Shu n sabe
    el código completo
#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;
}
Publicado 38 artículos originales · ganado elogios 27 · vistas 3183

Supongo que te gusta

Origin blog.csdn.net/qq_45891413/article/details/104933337
Recomendado
Clasificación