আমাদের একটি জাভাস্ক্রিপ্ট ফাংশন লিখতে হবে যা একটি সংখ্যা নেয়, বলুন n। ফাংশনটিকে 1 থেকে n পর্যন্ত সংখ্যার নামের অক্ষরগুলি গণনা করা উচিত।
যেমন − যদি n =5;
তারপর সংখ্যাগুলি হল এক, দুই, তিন, চার, পাঁচ৷ এবং মোট অক্ষর সংখ্যা 19, তাই আউটপুট 19 হওয়া উচিত৷
উদাহরণ
const sumUpto = (num = 1) => {
let sum = 0;
const lenHundred = 7;
const lenThousand = 8;
const lenPlaceOnes = [0,3,3,5,4,4,3,5,5,4];
const lenPlaceTens = [0,3,6,6,5,5,5,7,6,6];
for (let i = 1; i <= num; i++) {
let placeOnes = i % 10;
let placeTens = Math.floor(i / 10) % 10;
let placeHundreds = Math.floor(i / 100) % 10;
let placeThousands = Math.floor(i / 1000) % 10;
sum += lenPlaceOnes[placeOnes];
sum += lenPlaceTens[placeTens];
if (placeHundreds != 0) {
sum += lenHundred + lenPlaceOnes[placeHundreds];
}
if (placeThousands != 0) {
sum += lenThousand + lenPlaceOnes[placeThousands];
}
if (placeTens === 1) {
switch (placeOnes) {
case 4:
case 6:
case 7:
case 9:
sum += 1;
break;
}
}
if (i > 100 && i % 100 != 0) {
sum += 3;
}
}
return sum;
}
console.log(sumUpto(12));
console.log(sumUpto(5));
console.log(sumUpto(122)); আউটপুট
এটি নিম্নলিখিত আউটপুট −
তৈরি করবে51 19 1280