C++で2からN/2までのすべての基数で書き込まれた数値Nの桁の合計
この問題では、数値Nが与えられます。私たちのタスクは、2からN/2までの基数の数値Nの桁の合計を見つけるプログラムを作成することです。
したがって、数値の基数を2からN / 2までのすべての基数に変換する必要があります。つまり、n =9の場合、基数は2、3、4になります。そして、これらの基数のすべての桁の合計を求めます。
>問題を理解するために例を見てみましょう
入力
N = 5
出力
2
説明
base from 2 to N/2 is 2. 52 = 101, sum of digits is 2.
この問題を解決するために、2からN/2までのすべての数値をベースとします。次に、桁の合計を計算するために、Nを基数で繰り返し除算します。つまり、N =N / baseであり、余りの値を合計に加算します。次に、各塩基で見つかった合計値を加算して、結果を取得します。
例
ソリューションの動作を説明するプログラム −
#include <iostream> using namespace std; int findBaseSum(int n, int base, int &sum){ while (n > 0) { sum += n % base; n /= base; } return sum; } void CalcSumOfBaseDigits(int n, int &sum){ for (int base = 2; base <= n / 2; base++) findBaseSum(n, base, sum); } int main(){ int N = 11; int sum = 0; CalcSumOfBaseDigits(N, sum); cout<<"The sum of digits of "<<N<<" written in all bases from 2 to "<<(N/2)<<" is "<<sum; return 0; }
出力
The sum of digits of 11 written in all bases from 2 to 5 is 14
-
シリーズ1/1の合計を見つけるC++プログラム! + 2/2! + 3/3! + 4/4! +……n/n!
ここでは、与えられたシリーズの合計を取得する方法を見ていきます。 nの値はユーザーによって指定されます。階乗関数を作成することでこの問題を解決し、ループの各ステップで階乗を取得できます。しかし、階乗計算は通常の加算よりもコストのかかる作業です。次の階乗では前の階乗項を使用します。 3のように!は(3 * 2 * 1)、および4!は4*3!です。だから私たちが3つを保存すると!いくつかの変数に、それを使用して次の数値を追加することで、次の階乗を簡単に取得できます。 アルゴリズム sum_series_fact(n) begin res := 0 &nbs
-
指定された数値の桁を合計するC++プログラム
これは、C++言語で桁の合計を計算する例です。 例 #include<iostream> using namespace std; int main() { int x, s = 0; cout << "Enter the number : "; cin >> x; while (x != 0) { s = s + x % 10; x = x / 10;