假设我们有一个正整数N,我们必须找到多少种方法可以将其写为连续的正整数之和?
因此,如果输入像10,那么输出将是3,这是因为我们可以将10表示为5 + 5和7 + 3,所以有两种不同的方式。
为了解决这个问题,我们将遵循以下步骤-
ret:= 1
对于初始化i:= 2,(将i增加1),请执行-
从循环中出来
总和:=(i *(i + 1))/ 2
如果总和> N,则-
雷姆:= N-总和
ret:= ret +(当rem mod i为0时为1,否则为0)
返回ret
让我们看下面的实现以更好地理解-
#include <bits/stdc++.h> using namespace std; class Solution { public: int consecutiveNumbersSum(int N) { int ret = 1; for(int i = 2; ; i++){ int sum = (i * (i + 1)) / 2; if(sum > N) break; int rem = N - sum; ret += (rem % i == 0); } return ret; } }; main(){ Solution ob;cout << (ob.consecutiveNumbersSum(10)); }
10
输出结果
2
本文向大家介绍C ++中数组中存在的最大连续数,包括了C ++中数组中存在的最大连续数的使用技巧和注意事项,需要的朋友参考一下 给定一个正整数数组。目的是找到其中存在的最大连续数。首先,我们将对数组进行排序,然后比较相邻元素arr [j] == arr [i] +1(j = i + 1),如果差为1,则递增计数,索引i ++,j ++,否则更改计数= 1 。将到目前为止找到的最大计数存储在maxc
问题H[最长自然后继数]如果第二个是自然数序列中第一个的后继数(1和2是自然后继数),则两个连续的整数是自然后继数。编写一个程序,读取一个数字N,后跟N个整数,然后打印连续自然后继的最长序列的长度。示例: 输入 7 2 3 5 6 7 9 10输出3这里是我的代码到目前为止有人能帮我吗
问题内容: 我想识别列表中的连续数字组,以便: 返回值: 并且想知道实现此目的的最佳方法是什么(特别是如果Python内置了某些东西)。 编辑:注意,我最初忘记提及个人数字应作为个人数字而不是范围返回。 问题答案: 是在4.0版中添加的。 演示版 应用此工具,我们将生成一个生成器函数来查找连续数字的范围。 所述源执行模拟一个经典配方(由@Nadia Alramli所证明)。 注意:more_ite
本文向大家介绍计算C中没有连续1的二进制字符串的数目,包括了计算C中没有连续1的二进制字符串的数目的使用技巧和注意事项,需要的朋友参考一下 输出-没有连续1的7的二进制字符串的计数是-34 在以下程序中使用的方法如下 输入n作为字符串长度 在count函数中,我们将对不具有连续1的二进制字符串进行计数,定义两个大小为n的数组arr []和arr_2,以及一个变量temp来存储结果。 将两个数组的第
这:\d{6}将匹配第一个6,但它也将从abc12345678获得第一个6,我需要忽略这一点。
我需要把数字按顺序排列(1,2,3,4...)在表列中。这些是发票号码,它们需要连续,没有空白,没有重复。是强制性要求,实际上是财政要求,所以我不能跳过。 我当前的aproach是使用第二个“numbers”表,表中有两列(Id,LastNumber),表中有一条记录,Id=1。这就是我现在正在做的事情:1。从Id=1 2的Numbers(xlock,rowlock)中选择(LastNumber+