当前位置: 首页 > 编程笔记 >

C ++中的连续数字和

姜钊
2023-03-14
本文向大家介绍C ++中的连续数字和,包括了C ++中的连续数字和的使用技巧和注意事项,需要的朋友参考一下

假设我们有一个正整数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+