poj 2140 Herd Sums
来源:互联网 发布:linux如何下载软件包 编辑:程序博客网 时间:2024/05/18 03:40
Herd Sums
Time Limit: 1000MS Memory Limit: 65536KTotal Submissions: 16120 Accepted: 9541
Description
The cows in farmer John's herd are numbered and branded with consecutive integers from 1 to N (1 <= N <= 10,000,000). When the cows come to the barn for milking, they always come in sequential order from 1 to N.
Farmer John, who majored in mathematics in college and loves numbers, often looks for patterns. He has noticed that when he has exactly 15 cows in his herd, there are precisely four ways that the numbers on any set of one or more consecutive cows can add up to 15 (the same as the total number of cows). They are: 15, 7+8, 4+5+6, and 1+2+3+4+5.
When the number of cows in the herd is 10, the number of ways he can sum consecutive cows and get 10 drops to 2: namely 1+2+3+4 and 10.
Write a program that will compute the number of ways farmer John can sum the numbers on consecutive cows to equal N. Do not use precomputation to solve this problem.
Farmer John, who majored in mathematics in college and loves numbers, often looks for patterns. He has noticed that when he has exactly 15 cows in his herd, there are precisely four ways that the numbers on any set of one or more consecutive cows can add up to 15 (the same as the total number of cows). They are: 15, 7+8, 4+5+6, and 1+2+3+4+5.
When the number of cows in the herd is 10, the number of ways he can sum consecutive cows and get 10 drops to 2: namely 1+2+3+4 and 10.
Write a program that will compute the number of ways farmer John can sum the numbers on consecutive cows to equal N. Do not use precomputation to solve this problem.
Input
* Line 1: A single integer: N
Output
* Line 1: A single integer that is the number of ways consecutive cow brands can sum to N.
Sample Input
15
Sample Output
4
题意:求一个数n可以有几种有连续的数字相加得到
解题思路:i*a+i*(i-1)/2=n,转换为a=(n-i*(i-1)/2)/i 把i从1到n遍历一遍,如果(n-i*(i-1)/2)可以整除i那么i符合
#include <iostream>using namespace std;int main(){int n;while (cin>>n){int count=0;for (int i=1;i<=n;i++){int ans=n-i*(i-1)/2;if (ans<=0)continue;if (ans%i==0){count++;}}cout<<count<<endl;}return 0;}
0 0
- POJ 2140 Herd Sums
- poj 2140 Herd Sums
- POJ 2140 Herd Sums
- poj 2140 Herd Sums
- (POJ)2140 Herd Sums
- POJ 2140 Herd Sums 笔记
- POJ 2140 Herd Sums (发道水题)
- pku 2140 Herd Sums
- HDU 2715 && POJ 2140 Herd Sums (考虑一个近似)
- POJ 2140 Herd Sums (重要的DP)
- Herd Sums
- Herd Sums
- Herd Sums
- poj-2140-Herd Sums- 数学规律-连续和为N的方案数
- (POJ2140)Herd Sums
- POJ2140:Herd Sums
- hdu 2715 Herd Sums
- HDU2715 Herd Sums
- Apache 同一个IP:端口,绑定多个域名的注意事项
- Linkedin工程师是如何优化他们的Java代码的
- 《数学之美》读书笔记和知识点总结
- android4.0 U盘热插拔后挂载不上bug解决
- iPhone iPad分辨率
- poj 2140 Herd Sums
- GridView属性大全
- UVA - 550 Multiplying by Rotation
- Hive 安装配置
- @ResponseBody注解
- MSbuild failure: error CS0246: The type or namespace name 'DataLoader_Accessor' could not be found
- Intellij Idea 12 生成serialVersionUID的方法
- STL中排序算法
- [Android]volley源码分析