C ++
 Computer >> コンピューター >  >> プログラミング >> C ++

KのモジュロがC++でRを生成する自然数(最大N)の合計


この問題では、N、K、Rの3つの数が与えられます。私たちのタスクは、Kを法とする自然数(Nまで)の合計を見つけるプログラムを作成することです。 Rを生成します。

次の条件を満たすN未満のすべての数値を加算します。i%K==R。

問題を理解するために例を見てみましょう

入力

N = 14, K = 4, R = 1

出力

28

説明 − N未満のすべての数値、4で割ったときに余りとして1が与えられる数値は、1、5、9、13です。

この問題を解決するために、RからNにループし、値をKずつインクリメントします。これにより、指定された条件を満たす偶数が得られます。そして、それらを合計に追加します。

ここでは、通常のループ、つまり間隔として1を使用することができます。ただし、消費時間が短くなる前にこれを使用しました。

ソリューションを説明するプログラム

#include <iostream>
using namespace std;
int CalcSumofRem(int N, int K, int R){
   int sum = 0;
   for (int i = R; i <= N; i+= K) {
      if (i % K == R)
         sum += i;
   }
   return sum;
}
int main(){
   int N = 14, K = 4, R = 1;
   cout<<"Sum of natural numbers (up to "<<N<<") whose modulo with "<<K<<" yields "<<R<<" is "<<CalcSumofRem(N, K, R);
   return 0;
}

出力

Sum of natural numbers (up to 14) whose modulo with 4 yields 1 is 28

  1. Xとの合計がC++のフィボナッチ数であるノードをカウントします

    ノードの重みを数値として持つ二分木を指定します。目標は、その数がフィボナッチ数であるような重みを持つノードの数を見つけることです。フィボナッチ数列の数は次のとおりです。0、1、1、2、3、5、8、13…。n番目の数はの合計です。 (n-1)番目と(n-2)番目。重みが13の場合、それはフィボナッチ数であるため、ノードがカウントされます。 例 入力 temp=1。値を入力した後に作成されるツリーを以下に示します- 出力 Count the nodes whose sum with X is a Fibonacci number are: 3 説明 we are given with

  2. 自然数の合計を計算するC++プログラム

    自然数は1から始まる正の整数です。 自然数のシーケンスは-です 1, 2, 3, 4, 5, 6, 7, 8, 9, 10…… 最初のn個の自然数の合計は、forループまたは式を使用して計算できます。 これらの両方の方法を指定するプログラムは次のとおりです- forループを使用した自然数の合計。 forループを使用してn個の自然数の合計を計算するプログラムは次のとおりです。 例 #include<iostream> using namespace std; int main() {    int n=5, sum=0, i;