欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

leetcode刷题. 829. 连续整数求和 . 数学解法

程序员文章站 2022-07-07 15:39:46
...

给定一个正整数 N,试求有多少组连续正整数满足所有数字之和为 N?

leetcode刷题. 829. 连续整数求和 . 数学解法 

int consecutiveNumbersSum(int N) {

	int count = 0;
	int klimits = sqrt(2 * N) + 1;
	int tmp = 0;

	for (int k = 1; k <= klimits; k++) {

		if (2 * N % k == 0) {
			tmp = 2 * N / k - k - 1;
			if (tmp >= 0 && tmp <= 2 * N && tmp % 2 == 0) {
				count++;
			}
		}
	}
	return count;
}

 leetcode刷题. 829. 连续整数求和 . 数学解法