整数をローマ数字に変換するためのJavaScriptアルゴリズム
たとえば、intToRoman()などの関数を作成する必要があるとします。この関数は、名前が示すように、引数として渡された数値に相当するローマ字を返します。
この関数のコードを書いてみましょう-
例
const intToRoman = (num) => {
let result = "";
while(num){
if(num>=1000){
result += "M";
num -= 1000;
}else if(num>=500){
if(num>=900){
result += "CM";
num -= 900;
}else{
result += "D";
num -= 500;
}
}else if(num>=100){
if(num>=400){
result += "CD";
num -= 400;
}else{
result += "C";
num -= 100;
}
}else if(num>=50){
if(num>=90){
result += "XC";
num -= 90;
}else{
result += "L";
num -= 50;
}
}else if(num>=10){
if(num>=40){
result += "XL";
num -= 40;
}else{
result += "X";
num -= 10;
}
}else if(num>=5){
if(num>=9){
result += "IX";
num -= 9;
}else{
result += "V";
num -= 5;
}
}else{
if(num>=4){
result += "IV";
num -= 4;
}else{
result += "I";
num -= 1;
}
}
}
return result;
};
console.log(intToRoman(178));
console.log(intToRoman(89));
console.log(intToRoman(55));
console.log(intToRoman(1555)); 出力
コンソールでのこのコードの出力は-
になりますCLXXVIII LXXXIX LV MDLV
-
JavaScriptで特別な番号をチェックする
問題 最初で唯一の引数として数値numを受け取るJavaScript関数を作成する必要があります。 数値numの桁の合計が回文数の場合はtrueを返し、それ以外の場合はfalseを返す必要があります。 たとえば、関数への入力が-の場合 const num = 781296; その場合、出力は-になります。 const output = true; 出力の説明 781296の桁の合計が33であるため、これは回文数です。 例 以下はコードです- const num = 781296; const findSum = (num, sum = 0) => { if(num){ re
-
JavaScriptの数字に接尾辞を追加する
問題 最初で唯一の引数として数値numを受け取るJavaScript関数を作成する必要があります。 この関数のタスクは、次のルールに従って、数値に「st」、「nd」、「rd」、「th」を追加することです。 stは、1で終わる数字で使用されます(例:1番目、最初に発音されます) ndは、2で終わる数字で使用されます(例:92番目、92番目と発音) rdは、3で終わる数字で使用されます(例:33番目、33番目と発音) 上記の規則の例外として、11、12、または13で終わるすべての「10」の数字は-thを使用します(たとえば、11番目、11番目と発音、112番目、100番目と発音) t