25 lines
554 B
JavaScript
25 lines
554 B
JavaScript
(() => {
|
|
'use strict';
|
|
|
|
// sierpinski :: Int -> String
|
|
const sierpinski = n =>
|
|
Array.from({
|
|
length: n
|
|
})
|
|
.reduce(
|
|
(xs, _, i) => {
|
|
const s = ' '.repeat(Math.pow(2, i));
|
|
return xs.map(x => s + x + s)
|
|
.concat(
|
|
xs.map(x => x + ' ' + x)
|
|
)
|
|
},
|
|
['*']
|
|
).join('\n');
|
|
|
|
// TEST -------------------------------------------
|
|
console.log(
|
|
sierpinski(4)
|
|
);
|
|
})();
|