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;