お題
【ルール】
入力として正の整数 N を与えたら 4 から始まる 合成数 の数列の 1 番目から N 番目までの合計を出力してください
N は最大で 100 とします
これに、Sassで挑みます。
やってみた
See the Pen used sass add to codepen by sasanquaneuf (@sasanquaneuf) on CodePen.
html
<input id="textbox" onkeyup="output.className = 'n_' + textbox.value;"></input>
<div id="output"></div>
sass
$composite: 4
@for $i from 6 through 133
$c: 0
@for $j from 2 through 13
@if $i % $j == 0
@if $i != $j
$c: 1
@if $c == 1
$composite: append($composite, $i)
$sum: 0
@for $n from 1 through 100
$sum: $sum + nth($composite, $n)
.n_#{$n}:after
content: "#{$sum}"
感想
本当は、cssで合成数がだんだん透明になって、seleniumとかでだんだん透明になった数たちを画像として保存して、それをOCRかけて読めた数字を足して計算する、みたいなことをしたかった。
時間があまりになくて、こんなしょぼい結果になってしまったので、ちょっと申し訳ない感じですね。。。
ただ、Sassの勉強にはなりました!(ちょっとしたのは書いたことあるけど、変数や関数をある程度使って書いたのは今日が初めて)