JavaScriptで文字列内の数字を偶数と奇数に分けて合計を比較する方法
問題の概要
数字のみで構成された文字列を受け取るJavaScript関数を作成する必要があります。この関数は、文字列内の偶数の数字の合計が奇数の数字の合計より大きい場合は true を、そうでない場合は false を返します。
実装のアプローチ
処理の手順は以下の通りです。
- 偶数用と奇数用の2つの合計変数を0で初期化します。
- 文字列を1文字ずつループで走査し、各文字を数値に変換します。
- 数値が2で割り切れる(余りが0)場合は偶数の合計に、それ以外の場合は奇数の合計に加算します。
- 最後に、偶数の合計が奇数の合計より大きいかどうかを比較した結果を返します。
サンプルコード
const num = '645457345';
const isEvenGreater = (str = '') => {
let evenSum = 0;
let oddSum = 0;
for(let i = 0; i < str.length; i++){
const el = +str[i];
if(el % 2 === 0){
evenSum += el;
}else{
oddSum += el;
};
};
return evenSum > oddSum;
};
console.log(isEvenGreater(num));コードの解説
+str[i]: 文字列の各文字を単項プラス演算子(+)を使って数値に変換しています。el % 2 === 0: 数値を2で割った余りが0なら偶数、それ以外は奇数と判定します。- 戻り値は比較式そのままなので、条件を満たせば
true、満たさなければfalseが自動的に返されます。
出力結果
false
処理内容の検証
例として使用した文字列 '645457345' の場合を見てみましょう。
- 偶数の数字:6 + 4 + 4 = 14
- 奇数の数字:5 + 5 + 7 + 3 + 5 = 25
偶数の合計(14)は奇数の合計(25)より小さいため、関数は false を返します。このように、ロジックが正しく動作していることが確認できます。
-
PL/SQLで数値内の奇数の桁と偶数の桁をカウントする方法
本記事では、正の整数が与えられたとき、PL/SQLを使ってその数値に含まれる奇数の桁と偶数の桁の個数をそれぞれ求める方法を解説します。PL/SQLとは、SQLにプログラミング言語の手続き的な機能を組み合わせた言語です。Oracle社によって1990年代前半に開発され、SQLの機能を拡張することを目的としています。PL/SQLは、SQL本体およびJavaと並んで、Oracle Databaseに組み込まれている3つの主要なプログラミング言語のひとつです。実行例入力: int number = 23146579出力:count of odd digits in a number are : 5 c
-
C++で偶数番目と奇数番目の桁の合計を求める方法
偶数番目と奇数番目の桁の合計とは整数 N が与えられたとき、左から数えて奇数番目の桁の数字の合計と、偶数番目の桁の数字の合計をそれぞれ求めることを考えます。例えば、数値が 153654 の場合、odd_sum(奇数番目の合計)は 9、even_sum(偶数番目の合計)は 15 となります。具体的には、奇数番目の桁は 1 + 3 + 5 = 9、偶数番目の桁は 5 + 6 + 4 = 15 となります。解法のアプローチこの問題を解くには、最下位の桁から順にすべての桁を取り出していきます。ここで重要なポイントは、元の数値の桁数が奇数であれば最下位の桁は奇数番目の位置にあり、桁数が偶数であれば偶数番