Discuss Scratch
- Discussion Forums
- » 日本語
- » Scratchスクリプトクイズ
- pupon
-
Scratcher
100+ posts
Scratchスクリプトクイズ
#2641
正解です。僕の想定解(Hard)よりもブロックが少なくてすごいです…(僕は20blocks)
正解です。僕の想定解(Hard)よりもブロックが少なくてすごいです…(僕は20blocks)
Last edited by pupon (April 9, 2023 07:33:10)
- Doctor_Fe
-
Scratcher
100+ posts
Scratchスクリプトクイズ
すぐ思いつくのはこんなところでしょうか。本当はもう少しブロックを減らしたかったです。
max<minの場合は考慮していません。
min==maxの場合はOKなはずです。
max<minの場合は考慮していません。
min==maxの場合はOKなはずです。
(((min)*<(n)<(min)>)+(((n)*<<<(n)<(min)>ではない>かつ<<(max)<(n)>ではない>>)+((max)*<(max)<(n)>)))
- pupon
-
Scratcher
100+ posts
Scratchスクリプトクイズ
#2643
正解です。正解者が二人出たので想定解を出します。
<Easy>
12blocks
<Hard>
20blocks
正解です。正解者が二人出たので想定解を出します。
<Easy>
12blocks
もし<(n)<(min)>なら
[n v]を(min)にする
end
もし<(n)>(max)>なら
[n v]を(max)にする
end
<Hard>
20blocks
[n v]を((((n)+(max))-([絶対値 v] \( ((n)-(max)) \) ))/(2))にする
[n v]を((((n)+(min))+([絶対値 v] \( ((n)-(min)) \) ))/(2))にする
- Catapult-
-
Scratcher
100+ posts
Scratchスクリプトクイズ
もっと省ブロックな回答を思いつきました。
[n v] を (<(max) < (n)> * ((max) - (n))) ずつ変えるで16ブロックです。
[n v] を (<(n) < (min)> * ((min) - (n))) ずつ変える
- pupon
-
Scratcher
100+ posts
Scratchスクリプトクイズ
#2645
なるほど、
なるほど、
[n v]を((n)+(...))にするを
[n v]を(...)ずつ変えるにすることでブロック数が減ったんですね。すごい…
- yuzu-kun
-
Scratcher
100+ posts
Scratchスクリプトクイズ
(数)に何らかの数が入っていたとします。それを「演算」ブロックを使わずに四捨五入する方法はなんでしょう
追記
数は正の数とします。
Last edited by yuzu-kun (April 9, 2023 11:57:35)
- newmomizi_txt
-
Scratcher
1000+ posts
Scratchスクリプトクイズ
#2647
簡単な例でいえば、
簡単な例とか書いちゃったけど他に答えが思い浮かばない
簡単な例でいえば、
[別の変数 v] を (0) にするとかでしょうか。
(数) 回繰り返す
[別の変数 v] を (1) ずつ変える
end
[数 v] を (別の変数) にする
簡単な例とか書いちゃったけど他に答えが思い浮かばない
Last edited by newmomizi_txt (April 9, 2023 10:28:56)
- Catapult-
-
Scratcher
100+ posts
Scratchスクリプトクイズ
空のコスチュームを用意して、
コスチュームによって動きが制限されてしまうので「スクリプト」クイズの答えとしては不適切かもしれませんが。
[数 v] を (100) ずつ変えるを実行するとか…?
大きさを (数) % にする
[数 v] を (大きさ) にする
[数 v] を (-100) ずつ変える
コスチュームによって動きが制限されてしまうので「スクリプト」クイズの答えとしては不適切かもしれませんが。
- pupon
-
Scratcher
100+ posts
Scratchスクリプトクイズ
久しぶりにクイズです。
Easy
0以上の整数が入った変数
Hard
0以上の整数が入った変数
ブロックの制限
演算ブロックは使用禁止です。
他は特に制限はありません。
想定解は正解者が二人以上でたら発表します。
ちなみに想定解のブロック数は、Easy:10ブロック Hard:15ブロック
Easy
0以上の整数が入った変数
(a)があります。ここで、
((a)を(2)で割った余り)を求めるプログラムを作ってください。
Hard
0以上の整数が入った変数
(a)があります。このとき、
(b)
((a)を(b)で割った余り)を求めるプログラムを作ってください。
ブロックの制限
演算ブロックは使用禁止です。
他は特に制限はありません。
想定解は正解者が二人以上でたら発表します。
ちなみに想定解のブロック数は、Easy:10ブロック Hard:15ブロック
Last edited by pupon (June 19, 2023 09:59:31)
- pupon
-
Scratcher
100+ posts
Scratchスクリプトクイズ
#2653 #2654
どちらも正解です!
二人とも発想がめっっっっっちゃすごいです…僕には思いつきませんでした
正解者が二人出たので想定解を発表します。
https://scratch.mit.edu/projects/867006636/
どちらも正解です!
二人とも発想がめっっっっっちゃすごいです…僕には思いつきませんでした
正解者が二人出たので想定解を発表します。
https://scratch.mit.edu/projects/867006636/
- Caffeine3860
-
Scratcher
69 posts
Scratchスクリプトクイズ
問題
1~4までの乱数を出力するスプリクトを作ってください。
(ルール)
・1~4のどれかが必ず出るようにしてください。
・同様に確からしくしてください。
想定解は20ブロックです。(出力スクリプトのみ)
(() から () までの乱数)を使わずに、
1~4までの乱数を出力するスプリクトを作ってください。
(ルール)
・1~4のどれかが必ず出るようにしてください。
・同様に確からしくしてください。
想定解は20ブロックです。(出力スクリプトのみ)
- Caffeine3860
-
Scratcher
69 posts
Scratchスクリプトクイズ
#2657
正解です。
乱数ブロックの他にランダム性があるブロックが
(私の場合いちいちもし・・・ならを使っていたのでブロック数が多くなりました)
正解です。
乱数ブロックの他にランダム性があるブロックが
[どこかの場所 v] へ行くだと気づくのがポイントでした。
(私の場合いちいちもし・・・ならを使っていたのでブロック数が多くなりました)
- newmomizi_txt
-
Scratcher
1000+ posts
Scratchスクリプトクイズ
#2656
そのうちXorShift実装する人も出てきそう
[乱数 v] を ((((48271) * (乱数)) + (1)) を (2147483647) で割った余り) にする解答します(9ブロック)。線形合同法という乱数を自力で実装しただけです。
(((乱数) を (4) で割った余り) + (1)) と言う
そのうちXorShift実装する人も出てきそう
Last edited by newmomizi_txt (June 20, 2023 12:17:07)

